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í
stavba operačního systému
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
stavba operačního systému
CPU
paměť 3
I/O
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ší stavba operačního systému
4
aplikace
Jádro OS
Mikrojádro • jádro minimalizováno, jen nejnutnější části běží v privilegovaném režimu • ostatní komponenty jako běžné procesy – tzv. servery aplikace 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 Jádro OS • 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 stavba operačního systému
5
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 stavba operačního systému
6
aplikace
servery
Jádro OS
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ů. stavba operačního systému
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. spuštění
vytvoření
běžící
připravený připravený připravený
potlačení I/O událost dokončena čekající
stavba operačního systému
ukončení
8
Vznik I/O události
Odkládání procesů 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. spuštění
vytvoření
ukončení běžící
připravený připravený připravený odložení
obnova
odložený připravený
potlačení
I/O událost dokončena
vznik I/O události
čekající
odložení stavba operačního systému
odložený čekající 9