Monolitické jádro
Monolitické jádro je druh jádra operačního systému, jehož veškerý kód 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 subsytémů oddělená, jsou jednotlivé části velice 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. Na druhou stranu, pokud je dbáno na správnou implementaci jednotlivých částí, je monolitické jádro velice efektivní.
[editovat] Dynamické nahrávání modulů
Unixové jádro je typickým příkladem monolitického jádra včetně systémů FreeBSD, Linux nebo 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ř. 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šak akceptovatelné. Avšak i proto jsou někdy moduly zaváděny ihned po startu systému.
[editovat] Příklady monolitického kernelu
- Unix
- Linux
- MS-DOS, Windows 95, Windows 98 a Windows Me
- BSD
- Solaris
- Mac OS do verze 8.6
- OpenVMS