240 likes | 415 Views
Opera ční systémy (OS). historie a rozdělení. Operační systém (OS). je základní programové vybavení každého současného počítače, které řídí činnost výpočetního systému na základě požadavků uživatele. OS - funkce.
E N D
Operační systémy (OS) historie a rozdělení
Operační systém (OS) • je základní programové vybavení každého současného počítače, které řídí činnost výpočetního systému na základě požadavků uživatele
OS - funkce • spravuje a řídí HW a SW zdroje systému (přiřazování procesorového času aplikacím, přístup k RAM paměti, HDD prostor atd. ..) • zajišťuje přístup aplikací k HW prostředkům aniž by tyto museli přesně vědět jakým způsobem HW funguje • zajišťuje komunikaci s uživatelem (příkazová řádka – shell, grafické uživatelské rozhraní – GUI)
OS – start • po zapnutí počítače: • sada instrukcí v paměti ROM provede kontrolu HW prostředků počítače na správnou funkčnost(POST – power on self test), potom BIOS aktivuje HDD a předá řízeni „boot loaderu“(zaváděcí program) • loader má pouze jednu funkci – zavede OS do paměti RAM
OS – co zařizuje po zavedení do RAM • Procesorový management • Paměťový management • Device management • HDD management • Aplikační rozhraní (API) • Uživatelské rozhraní
I. Rozdělení OS dle počtu uživatelů • jednouživatelské OS (single-user systems) • dovolují práci jednomu uživateli (v daném čase), • standardní OS pro běžné nasazení. • víceuživatelské OS (multiuser systems) • dovolují práci více uživatelů současně, • patří sem především síťové OS.
II. Rozdělení OS dle počtu zpracovávaných úloh • jednoprogramové OS • dovolují běh jednoho programu, • patří sem jednoduché OS (starší OS), • dnes se lze setkat zcela vyjímečně • víceprogramové OS • podpora multitaskingu, • OS podporující multitasking dovolují současný běh několika programů (úloh), • patří sem všechny moderní OS
II. Rozdělení OS - víceprogramové OS • výhody: • možnost přepínání mezi programy (bez přerušení práce), • usnadnění činností, které musí probíhat „paralelně“ s ostatními činnostmi (např. správa sítě), • jednotlivé programy zde mohou lépe spolupracovat (např. přímá výměna dat), • lepší využití výpočetní kapacity systému, • multitasking je nutnou podmínkou pro realizaci víceuživatelského systému
II. Rozdělení OS - víceprogramové OS • nevýhody: • nutná optimalizace OS, aby současný běh více programů výrazně nezpomalil program se kterým právě pracuje uživatel, • nároky na vlastní režii systému, • podmínkou je odpovídající HW vybavení výpočetního systému (procesor, paměť, disková kapacita), • nutné je odpovídající zabezpečení systému (odolnost proti zhroucení systému, ztrátě dat, ...)
Víceprogramové OS - multitasking • Princip multitaskingu • běžný počítač nemá k dispozici dostatek procesorů, kde by běželo více úloh (obvykle pouze jeden), • proto je současný běh programů řízen tak, že se uživateli jako paralelní pouze jeví, • na počítačích s více procesory je potom nutné rozdělit zatížení na všechny procesory (toho nelze prakticky dosáhnout pouhým rozdělením procesů jednotlivým procesorům), • existuje několik principů simulace paralelního běhu procesů , všechny jsou založeny na střídavém přidělování procesorového času jednotlivým úlohám:
Víceprogramové OS - multitasking • principy simulace paralelního běhu procesů • přepínání programů (procesů) • kooperativní multitasking • preemptivní multitasking
1. přepínání programů (multitasking) • není multitasking v pravém slova smyslu, • dovoluje pouze možnost rychlého přechodu od jednoho programu k druhému • přepínání programů je dosaženo tzv. vzájemným voláním programů a nejde tak přímo o vlastnost OS, ale aplikací, které umožní spuštění jiného programu, • dva základní typy přepínání programů: • systémy s omezeným přepínáním • systémy s neomezeným přepínáním
1. přepínání programů (multitasking) • systémy s omezeným přepínáním • dovolují přepínat mezi „hlavním“ programem a několika speciálními „vedlejšími“ programy, • tyto programy se deklarují při startu OS, • jiné přepínání není podporováno, • dnes již nevyužíváno
1. přepínání programů (multitasking) • systémy s neomezeným přepínáním • dovolují spustit běžné aplikace, mezi nimiž se lze přepínat a kdykoliv je možné spustit další program, • aktuální stav aplikace se nazývá kontext • program, který má v paměti svůj kontext (je právě aktivní) se nazývá proces • běžící proces musí pravidelně volat systémovou službu, kterou signalizuje, že může být přerušen, • v této souvislost hovoříme o přepnutí kontextu (context switch), o odebrání procesoru a o přidělení procesoru • dnes již nevyužíváno
2. kooperativní multitasking • vychází z mechanismů používaných při přepínání procesů, • v systému s přepínáním procesů dochází k přepnutí pouze na žádost uživatele a tomu i odpovídá malé využití možností daného principu • výhodnější je realizovat přepnutí vždy, když první proces čeká (není aktivní) • současně s přepnutím na druhý proces je zadán i požadavek na návrat (přepnutí zpět v případě možnosti přerušení), • první proces běží tzv. na popředí (foreground), druhý proces potom na pozadí (background), • proti běžnému přepínání procesů lepší využití procesoru
2. kooperativní multitasking • proces na pozadí je standardně výrazně zpomalen, • nelze využít na realizaci paralelních úloh (správa sítě, ...) • v případě chyby aktivního procesu (např. nekonečná smyčka) nemusí být nikdy volána přerušovací služba a systém potom nemá možnost odejmout aplikaci řízení - proto dojde k zablokování celého systému • kooperativní multitasking proto není bezpečný • doposud často používaný • Windows 3.x (příklad poměrně neefektivního řešení)
3. preemptivní multitasking • řeší většinu problémů, které má kooperativní multitasking, • operační systém zde nevyžaduje spolupráci aplikací při realizaci multitaskingu, • systém je sám schopen přerušit kterýkoliv proces (obvykle při přerušení od časovače) - preempce • lze zde nastavit priority procesů (důležité procesy získávají procesor přednostně)
3. preemptivní multitasking • systémové procesy ostatním procesům (klienti) nabízejí služby, které jim využití prostředku umožní a zároveň hlídají zablokování • moderní OS zabezpečují iluzi současného běhu několika procesů bez zřetelného střídání • OS nepovolí žádnému procesu běžet déle než po specifikovaný časový interval (časové kvantum) • využívají všechny moderní operační systémy
III. dělení OS dle typu zpracování • multiprocesing • schopnost OS využít instalované procesory, • souběžné zpracování programů na systémech s více procesory, • každý procesor je přiřazen jednomu programu a plní stejné funkce pro všechny programy • běžný pro velké výpočetní systémy a výkonné servery • dva druhy multiprocesingu
III. dělení OS dle typu zpracování • multiprocesing – 2 typy • SMP (Symetrický multiprocesing) • dva nebo více procesorů řízeno jedním OS, • procesory mívají obvykle rovnoprávnou úroveň, • schopnost OS průběžně přidělovat úlohy nejbližšímu volnému procesoru • AMP (Asymetrický multiprocesing) • Rozdílné využití procesorů • Lze stanovit, které úlohy budou využívat který procesor
III. dělení OS dle typu zpracování • interprocesing • dynamické propojování mezi aplikacemi, • možnost přenosu objektů mezi aplikacemi, • automatická aktualizace těchto propojených dat, • např. OLE (Object Linking and Embedding)
III. dělení OS dle typu zpracování • real-time procesing • určeno pro specifické aplikace, kde je vyžadována minimální doba odezvy (řízení technologické linky, ...), • uživatel má dojem, jako by komunikoval v reálném čase