Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Co je to OS Správce prostředků –spravuje a přiděluje systémové zdroje systému úlohám, stará se o jejich efektivní sdílení –procesoru (ů) –operační paměti.

Podobné prezentace


Prezentace na téma: "Co je to OS Správce prostředků –spravuje a přiděluje systémové zdroje systému úlohám, stará se o jejich efektivní sdílení –procesoru (ů) –operační paměti."— Transkript prezentace:

1 Co je to OS Správce prostředků –spravuje a přiděluje systémové zdroje systému úlohám, stará se o jejich efektivní sdílení –procesoru (ů) –operační paměti –periferních zařízení –disku apod. Programové vybavení nezbytné pro provoz počítače Rozhraní mezi uživatelem a hardware Řídicí program –řídí provádění uživatelských programů

2

3 Klasifikace OS z hlediska stupně paralelnosti práce: –Jednouživatelské jednoúlohové - s podporou OS se zpracovává pouze jeden proces a to trvale. –Jednouživatelské víceúlohové - jeden uživatel má současně spuštěno více aplikací (např. na pozadí probíhá náročný výpočet a současně s tím uživatel edituje nějaký soubor). Klasifikace OS z hlediska stupně paralelnosti práce: –Víceuživatelské víceúlohové - více uživatelů sdílí tytéž prostředky. Někdy se označují jako OS se sdílením času. Systémy s reálným časem - je to vlastně varianta předchozích dvou typů určená pro řízení technologických procesů.

4 Architektura operačních systémů Operační systém je „správce prostředků“ Je to soubor programů (algoritmů) vytvořených k ovládání systémových prostředků tj. paměti, procesorů, periferních zařízení a souborů informací (tj. programů a dat) Funkcí operačního systému je dbát, aby tyto prostředky byly efektivně využívány, řešit konflikty vzniklé při „soutěžení“ o jednotlivé prostředky mezi různými uživateli (mezi jejich programy). Operační systém musí sledovat stav každého prostředku, rozhodovat, kterému procesu bude prostředek přidělen (v jakém rozsahu a na jak dlouho), prostředek přidělit a případně žádat jeho navracení. Podle toho, jak dělíme prostředky, se dělí i jejich správci. Na následujícím obrázku je naznačeno rozdělení operačního systému na jednotlivé komponenty - správce

5 Komponenty OS

6 Správa procesorů/procesů OS je z hlediska správy procesorů zodpovědný za výběr procesu běžícího na volném CPU OS z hlediska správy procesů odpovídá za –vytváření a rušení procesů –potlačení a obnovení procesů –poskytnutí mechanismů pro synchronizaci procesů a pro komunikaci mezi procesy

7 Správa I/O systém Sleduje stav prostředků (periferních zařízení, jejich řídících jednotek) Rozhoduje o efektivním způsobu přidělování prostředku – periferního zařízení Přiřazuje prostředek (periferní zařízení) a zahajuje I/O operaci Požaduje navracení prostředku.

8 Správa operační paměti Udržuje přehled o přidělené a volné paměti Ve spolupráci se správou procesů rozhoduje o tom, kterému procesu, kolik, kde a kdy má přidělit operační paměti Určuje strategii odnímání dříve přidělené operační paměti procesům (opět po předchozí domluvě se správou procesů

9 Správa souborů Vytváření a rušení souborů, vytváření a rušení adresářů (katalogů, složek) Podporu primitivních operací pro manipulaci se soubory a s adresáři Zobrazení souborů Archivování souborů na energeticky nezávislá média.

10 Procesy Program = zápis algoritmu v nějakém programovacím jazyce (například ve strojovém kódu). Je statický, neměnný (neuvažujeme-li vývoj nových verzí programů). Proces (process, task) = běžící program Proces potřebuje pro svoji realizaci jisté zdroje –doba procesoru –paměť –I/O zařízení, atd.

11 Multitasking a multithreading Multitasking je schopnost operačního systému mít spuštěno více programů současně. V zásadě operační systém používá hardwarové hodiny a každému běžícímu procesu přiděluje „časová kvanta". Pokud jsou tato kvanta dostatečně malá a počítač není přetížen spoustou programů, které se všechny snaží něco dělat, uživatel má dojem, jako kdyby všechny programy běžely současně. Multithreading - umožňují, aby se jeden "těžký" proces skládal z více vláken řízení – threadů (primární vlákno obsluhuje uživatelský vstup a podle potřeby vytváří další vlákna) Thready jednoho procesu sdílejí adresní prostor paměti a mohou spolu komunikovat pomocí sdílené paměti. Nepodporuje-li systém multithreading, znamená to, že každý proces je tvořen právě jedním threadem.

12 Správce procesoru : sleduje prostředek (procesor a stav procesů), rozhoduje, komu bude dána možnost užít procesor, přiděluje procesu prostředek, tj. procesor, požaduje vrácení prostředku (procesoru). Operační systém je z hlediska správy procesorů zodpovědný za výběr procesu běžícího na volném procesoru.

13 Správa procesů Vytváření a rušení procesů Potlačení a obnovení procesů Poskytnutí mechanismů pro synchronizaci procesů a pro komunikaci mezi procesy.

14 Životní cyklus procesu Proces je vytvořen buď příkazem uživatele (u terminálu) nebo na žádost operačního systému o provedení služby či na žádost jiného procesu (rodiče). Takto vytvořený proces je ve stavu „neběžícím“ – připravený k vykonání a čeká pouze na přidělení procesoru. Spuštěním procesu, na základě plánovacího algoritmu přechází proces do stavu „běžící“(running) –Tento proces může být ukončen normálně, tj. byl celý proveden, nebo násilně vypršením časového limitu či uživatelem, provedením chybné instrukce, chybou V/V zařízení, porušením ochrany paměti, nebo na žádost rodiče apod. –„Běžící“ proces může být potlačen na základě časového limitu, vyšší prioritou apod. a přechází do stavu neběžící. Ve stavu „běžící“ může být jen jeden proces realizován jedním procesorem, kdežto ve stavu „neběžícím“ může být více procesů zařazených do fronty. Grafickým vyjádřením těchto přechodů mezi stavy jsou stavové modely

15 2 stavový model

16 3 a 5 stavový model Stav „připravený“ (ready) charakterizuje proces připravený k vykonání a čeká pouze na přidělení procesoru. Ve stavu „běžící“ (running) je procesu přidělen procesor a právě se provádí příslušné programy. Stav „čekající“ (waiting) vyjadřuje, že proces čeká na určitou událost, např. dokončení I/O operace. V souvislosti s plánováním procesů se setkáváme ještě s jedním modelem umožňujícím odkládání procesů (swapping). S omezenou kapacitou operační paměti musí existovat nástroj který umožňuje umístit do paměti více procesů. Příliš mnoho procesů v operační paměti však snižuje výkonnost. Proto operační systémy umožňují provádění některých procesů odložit mimo adresní prostor operační paměti např. na disk. Stavový model se pak rozšíří o další dva stavy – „odložený čekající“, „odložený připravený“

17 3 stavový model

18 5-stavový model

19 Odložené procesy uvolňují operační paměť v případě, že je mnoho čekajících procesů nebo vlastník procesu si to přeje nebo předpisuje to časový plán či si to přeje rodič z důvodu synchronizace sourozenců. Pak procesy přecházejí do stavu „odložený čekající“. V případě, že se stala očekávaná událost, přechází proces ze stavu „odložený čekající“ do stavu „odložený připravený“. V případě, že se fronta připravených vyprázdnila (nebo alespoň téměř vyprázdnila), pak přechází proces ze stavu „odložený připravený“ do stavu „připravený“.

20 Plánování procesů (process scheduling) Krátkodobé (short-term), CPU scheduling (plánování procesoru): výběr kterému z připravených procesů bude přidělen procesor Střednědobé (medium-term): výběr který blokovaný nebo připravený proces bude odsunut z vnitřní paměti na disk, je-li vnitřní paměti nedostatek Dlouhodobé (long-term), job scheduling (plánování prací, úloh): výběr, která úloha bude spuštěna (má význam zejména při dávkovém zpracování). Účelem je namixovat úlohy tak, aby byl počítač co nejvíce vytížen (třídy úloh dle náročnosti).

21 Strategie plánování Strategie použitá pro výběr, kterému z připravených procesů bude přidělen procesor, bývá tvůrci operačního systému vybírána podle těchto kritérií: –spravedlnost: každý proces dostane spravedlivý díl času procesoru –efektivita: udržovat maximální vytížení procesoru, příp. jiné části systému –čas odezvy: minimalizovat dobu odezvy pro interaktivní uživatele –doba obrátky: minimalizovat dobu zpracování každé dávkové úlohy –průchodnost: maximalizovat množství úloh zpracovaných za jednotku času Podle toho, které z těchto vlastností brali tvůrci systému v úvahu a jakou váhu jim přikládali, používají různé operační systému různé strategie plánování procesoru.

22 Kdo dřív přijde, ten je dříve obsloužen –procesy přicházející do stavu připravený jsou umísťovány na konec fronty typu FIFO (first in first out). Při plánování procesoru se procesor přidělí tomu procesu, který je ve frontě první. Prioritní plánování –S každým procesem je spojeno prioritní číslo přičemž prioritní číslo vyjadřuje preference procesu pro výběr příště běžícího procesu. CPU se přiděluje procesu s nejvyšší prioritou a této nejvyšší prioritě odpovídá nejnižší prioritní číslo. –Problém: stárnutí – procesy s nižší prioritou se nemusí nikdy provést. Řešení: zrání – priorita se s postupem času zvyšuje. cyklická obsluha procesů po časových intervalech –Každý proces dostává CPU na malou jednotku času – časové kvantum – desítky až stovky ms. Po uplynutí této doby je běžící proces předběhnut nejstarším procesem ve frontě připravených procesů a zařazuje se na konec této fronty. proces s nejkratší dobou provádění, je první obsloužen přednostně se obsluhuje proces, kterému zbývá nejméně času na dokončení, tj. do okamžiku, kdy musí být dokončen přednostně se obsluhuje proces, který zatím běžel nejkratší dobu Příklad různých strategií plánování


Stáhnout ppt "Co je to OS Správce prostředků –spravuje a přiděluje systémové zdroje systému úlohám, stará se o jejich efektivní sdílení –procesoru (ů) –operační paměti."

Podobné prezentace


Reklamy Google