Jádro operačního systému - monolitické, hybridní a mikrojádro.

Jádro operačního systému

Jádro je speciální program zavedený do hlavní paměti při startu systému přímo vykonávaný HW.  Jádro má přístup k adresovému prostoru procesů. Jádro je reentrantní, každý proces má svůj zásobník jádra, často přímo v adresovém prostoru procesu – chráněný, spravovaný jádrem. (procesy se navzájem neovlivňujou)

Vykonává služby

Zpracovává přerušení od periferních zařízení

Vykonává systémové procesy (správa paměti, přepočítávání priorit procesů)

Kontextem procesu rozumíme jeho stav, tj. množinu informací nutnou k obnovení činnosti procesu poté, co byl přerušen.

Je-li OS vykonáván jistý proces, říkáme o něm, že běží v kontextu procesu. Rozhodne-li se OS vykonávat jiný proces, provede přepnutí kontextu. OS dovoluje přepnout kontext jen za určitých předpokladů. Při přepínání kontextu si jádro uchovává dostatek informací k pozdějšímu obnovení činnosti procesu.

Obdobně při přechodu z uživatelského režimu do režimu jádra (zde jde o změnu režimu, nikoli změnu kontextu) si jádro uchová dostatek informací k návratu do uživatelského režimu.

Přerušení je obsluhováno v kontextu přerušeného procesu (pro obsluhu přerušení není vytvářen zvláštní proces), ačkoli tento proces nemusel přerušení způsobit. 

Kontext procesu obecně

Vloženo z <[link]> 

Uvnitř moduly pro jednotlivé funkce (filesys, procesy) 

Jeden program, řízení se předává voláním podprogramů 

Horší na údržbu

Příklady: UNIX, Linux, MS DOS 

Typickou součástí jádra je např. souborový systém 

Linux je monolitické jádro OS, s podporou zavádění modulů za běhu systému 

[link] 

Model klient – server 

Většinu činností OS vykonávají samostatné procesy mimo jádro (servery, např. systém souborů) 

Poskytuje pouze nejdůležitější nízkoúrovňové funkce 

Nízkoúrovňová správa procesů 

Někdy obsluha přerušení, vstupy/výstupy 

Pouze mikrojádro běží v privilegovaném režimu 

Méně pádů systému 

Snadnější tvorba distribuovaných OS (komunikace přes síť) 

Složitejší návrh systému 

Režie 

Příklady: QNX, Hurd, OSF/1, MINIX, Amoeba 

Hybridní jádro je v informatice označení pro jádro operačního systému, které kombinuje vlastnosti monolitického jádra a mikrojádra za účelem získání výhod obou vyhraněných řešení. Hybridní jádro je podobné mikrojádru, ale má některé vlastnosti monolitického jádra, kvůli vyššímu výkonu. Na rozdíl od monolitického jádra nedokáže hybridní jádro za běhu samo zavádět moduly. V jaderném prostoru hybridního jádra běží některé služby (např. implementace síťového protokolu nebo souborový systém), aby se dosáhlo nižší režie v porovnání s mikrojádry, ostatní kód jádra (ovladače zařízení), běží v uživatelském prostoru a označují se jako servery.

[link] 

Výstavba systému od nejnižších vrstev Vyšší vrstvy využívají primitiv poskytovaných nižšími vrstvami Hierarchie procesů

–Nejníže vrstvy komunikující s HW

–Každá vyšší úroveň poskytuje abstraktnější virtuální stroj

–Může být s HW podporou – pak nelze vrstvy obcházet (obdoba systémového volání) Příklady: THE, MULTICS

proces v uživatelském módu má přístup ke svému

          jádro má přístup k adresovému prostoru procesů

proces používá dva zásobníky

uživatelský

uživatelský                                            zásobník

každý proces má svůj zásobník jádra, často v 

adresovém prostoru procesu – chráněný, spravovaný 

každý proces má položku v tabulce procesů proc

u oblast – údaje potřebné když je proces vykonávaný

- tabulku deskriptorů souborů otevřených souborů

- okamžitý adresář

- kořenový adresář

- často zásobník jádra procesu

Vloženo z <[link]> 

Vloženo z <[link]> 
