Monolitické jádro

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Schéma fungování monolitického kernelu Monolitické jádro je druh jádra operačního systému, jehož veškerý kód (nebo jeho převážná většina) běží ve stejném (jaderném) paměťovém prostoru, který se anglicky označuje jako kernel space. Tím se liší od tzv. mikrojádra, které většinu tradičních činností monolitického jádra, jako je třeba správa souborových systémů, implementuje v procesech, které běží v uživatelském paměťovém prostoru.

Přestože jsou monolitická jádra psána tak, aby byla činnost jednotlivých subsystémů oddělená, jsou jednotlivé části silně provázány. A navíc, protože sdílejí stejný paměťový prostor, může chyba v jednom subsystému zablokovat jiný, nebo dokonce shodit celé jádro. +more Na druhou stranu, pokud je dbáno na správnou implementaci jednotlivých částí, je monolitické jádro velice efektivní.

Rozhraní mezi operačním systémem a procesy zajišťují v monolitickém jádře tzv. systémová volání. +more Pomocí systémových volání mohou procesy využívat služby nabízené jádrem operačního systému, je-li jim to povoleno.

Dynamické nahrávání modulů

Unixové jádro je typickým příkladem monolitického jádra včetně systémů Linux, FreeBSD, NetBSD nebo třeba Solaris. Jejich novější generace přidávají podporu zavádění modulů za běhu, a proto není nutné při přidání dalšího hardware restartovat celý systém (např. +more USB flash disk), ale i jiné funkce (například podpora pro další síťové protokoly). Stačí za běhu nahrát moduly, které se zavedou do adresového prostoru jádra a propojí se s jeho funkcemi. Modulární jádro ale i s moduly zůstává monolitickým jádrem, protože vše běží v jediném paměťovém prostoru.

Při zavádění modulů až v okamžiku jejich potřeby vzniká jisté zpoždění, které je v mnoha případech akceptovatelné, ale někdy jsou moduly zaváděny ihned po startu systému.

Příklady monolitického kernelu

Unix * Linux, Linux-libre (modulární) * MS-DOS, Windows 95, Windows 98 a Windows Me * NetBSD (modulární) * FreeBSD (modulární) * OpenBSD * Solaris * Mac OS do verze 8.6 * OpenVMS

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top