Monolitické jádro: Porovnání verzí

Smazaný obsah Přidaný obsah
+kategorie
drobné opravy
Řádek 1:
[[Soubor:Kernel-monolithic.svg|thumb|Schéma fungování monolitického kernelu]]
'''Monolitické jádro''' je druh [[Jádro (informatika)|jádra]] [[operační systém|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ádro|mikrojádra]], které většinu tradičních činností monolitického jádra, jako je třeba správa [[souborový systém|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 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í.
 
Rozhraní mezi operačním systémem a [[Proces (program)|procesy]] zajišťují v monolitickém jádře tzv. [[systémové volání|systémová volání]]. 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ů ==
[[UN*X|Unixové]] jádro je typickým příkladem monolitického jádra včetně systémů [[Linux (jádro)|Linux]], [[FreeBSD]], [[LinuxNetBSD]] nebo třeba [[Solaris (operační systém)|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 mnoha případech akceptovatelné, ale někdy jsou moduly zaváděny ihned po startu systému.