Stavba operačního systému Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské poradenské zařízení a zařízení pro další vzdělávání pedogických pracovníků (NÚV).
Součásti operačního systému Jádro operačního systému (kernel) zavádí se do paměti při startu počítače a je mu předáno řízení zůstává v činnosti po celou dobu provozu počítače a neztrácí nad počítačem kontrolu hlavní funkce jádra je přidělování paměti, času procesoru a dalších prostředků procesům Pomocné nástroje utility nástroje na přidělování práv, formátování... démoni - služby ovladače zařízení 2
Jádro operačního systému Základní povinnosti jádra: správa procesů - komunikace mezi procesy, multitasking správa paměti - adresace, virtuální paměť, ochrana paměti správa zařízení - přidělování a odebírání, konfigurace systémová volání - přerušení, poskytování služeb aplikace Jádro OS CPU paměť I/O 3
Typy jader operačního systému Monolitické jádro jádro je jeden celek v souvislém úseku paměti (kernel-space) jednotlivé části velmi silně provázány vše v privilegované úrovni oprávnění procesoru Výhody: velice efektivní dynamické nahrávání modulů bez restartu systému u modulárního jádra Nevýhody: chyba (např. v ovladači) ohrožuje celé jádro (nižší spolehlivost) vývoj náročný na znalost funkce celého jádra Využití: Linux, FreeBSD a další aplikace Jádro OS 4
Mikrojádro jádro minimalizováno, jen nejnutnější části běží v privilegovaném režimu ostatní komponenty jako běžné procesy tzv. servery např. souborový subsystém, síťový subsystém, ovladače a další návrh odpovídá strukturovanému programování snadné pochopit kód vzájemná komunikace přes API (zasílání zpráv) Výhody: vysoká spolehlivost a stabilita lze spouštět jen potřebné procesy (servery) proces lze po pádu restartovat Nevýhody: nižší výkon, vyšší režie při meziprocesorové komunikaci (přepínání kontextu) Využití: Symbian, GNU Hurd, Realtime OS 5 aplikace Jádro OS servery
Hybridní jádro kombinuje výhody monolitického a mikrojádra za účelem získání výhod obou základní jádro je větší včetně částí citlivých na výkonnost (souborový systém, síťový protokol, grafika) ostatní služby servery běží v uživatelském režimu (ovladače) Výhody: nižší režie než mikrojádro vyšší stabilita Využití: Windows NT, XP, 2003, Vista, 7, Windows CE, Mac OS X servery aplikace Jádro OS 6
Stavový model operačního systému Běžící proces může být jen jeden (pro jednojádrový procesor), neběžících je většinou více a jsou zařazeny do fronty. vytvoření fronta spuštění ukončení běžící potlačení Pro výběr procesu z fronty ke spuštění používá plánovač různé strategie podle priorit, potřebných prostředků a různých časů procesů. 7
Stavový model operačního systému Při provádění procesu se stává, že proces čeká na určitou událost, např. I/O operaci (načtení souboru, stisk klávesy ap.) Tuto skutečnost znázorňuje 3 stavový model. vytvoření připravený spuštění běžící ukončení I/O událost dokončena potlačení čekající Vznik I/O události 8
Každý proces musí při spuštění dostat přidělenu část operační paměti. Při potlačení ale standardně tuto paměť nevrací. To může vést k zaplnění OP a snížení výkonnosti počítače. Operační systémy umožňují umístit neběžící procesy mimo OP například na disk a uvolnit OP. Toto znázorňuje 5 stavový model. vytvoření Odkládání procesů připravený spuštění běžící ukončení odložení odložený připravený obnova I/O událost dokončena odložený čekající potlačení 9 čekající odložení vznik I/O události