Operační systémy LS 2014/2015 7. přednáška 30. března 2015.

Slides:



Advertisements
Podobné prezentace
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
Advertisements

Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
7. přednáška konzistence dat (příklad) -multithreading (monoprocesor) -sdílení času -analýza časového kvanta -priorita -přepínání (procesů,
Vzdělávací materiál / DUMVY_32_INOVACE_02B2 Správa procesů AutorIng. Petr Haman Období vytvořeníProsinec 2012 Ročník / věková kategorie2. ročník Vyučovací.
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
Operační systémy.
Výrok „Počítač je pouze tak inteligentní jako jeho uživatel.“ (Radek Lochman, dnes)
Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
A3B33OSD (J. Lažanský) verze: Jaro 2014 Plánování práce procesorů 1 Obsah Téma 4 – Plánování práce procesorů 1.Plánování a jeho charakteristiky 2.Plánovací.
13AMP 2. přednáška Ing. Martin Molhanec, CSc.. Stav procesu (kontext) Stav procesu je úplná informace, kterou je nutné uschovat při přerušení procesu,
Správa procesů.
Lokální počítačové sítě Novell Netware Ing. Zdeněk Votruba Technická fakulta ČZU Laboratoř výpočetních aplikací.
13AMP 3. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled I. Co je to kontext úlohy Co je to kontext úlohy Task switching (přepnutí úlohy)
Vývoj výpočetního modelu
3. konzultace (4 hodiny) 6. března 2015 Operační systémy LS 2014/2015.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Zablokování (deadlock, smrtelné objetí, uváznutí)
Správa procesů.
8. přednáška přepínání kontextu -plánování (pojmy, kritéria, prioritní fronty, vybrané typy) Studijní materiály najdete na adrese:
Rozhodovací proces, podpory rozhodovacích procesů
Pojmy a vlastnosti operačních systémů Šablona 32 VY_32_INOVACE_7_5_Pojmy a vlastnosti operačních systémů.
3. konzultace (5 hodin) Studijní materiály najdete na adrese:
Vnitřní (operační paměť)
A4B33OSS (J. Lažanský) verze: Podzim 2012 Procesy a vlákna 1 Obsah Téma 3 – Procesy a vlákna 1.Výpočetní procesy a jejich stavy 2.Stavový diagram procesů.
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.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
1/28 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Vlákna 06.
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
Využití teorie hromadné obsluhy v počítačích Dan Ohnesorg AI526.
Základy operačních systémů
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
2. konzultace (4 hodiny) Studijní materiály najdete na adrese:
1/37 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Plánování CPU 07.
1/32 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Plánování CPU 07.
Operační systémy LS 2014/ přednáška 16. března 2015.
OPERAČNÍ SYSTÉMY učební text pro žáky SŠ.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Počítačová bezpečnost 2. Bezpečnost v OS © Milan Keršlágerhttp:// Obsah: ● jádro,
OPERAČNÍ SYSTÉMY Část 3 – správa procesů Zpracovala: Mgr. Marcela Cvrkalová Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Operační systémy 2015/ přednáška 21. března 2016.
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
Vypracoval / Roman Málek
Zvídavé otázky 1. Prevence a detekce uváznutí
Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Operační systémy - úvod
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
DIGITÁLNÍ UČEBNÍ MATERIÁL
1. ročník oboru Mechanik opravář motorových vozidel
Téma 3 – Procesy a vlákna Obsah Výpočetní procesy a jejich stavy
PB 169 Počítačové sítě a operační systémy
Počítačová bezpečnost 2. Bezpečnost v OS
Téma 4 – Plánování práce procesorů
Operační systémy 9. Spolupráce mezi procesy
Správa paměti.
Pojmy a vlastnosti operačních systémů
Plánování procesů Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
PB 169 Počítačové sítě a operační systémy
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
3. konzultace (4 hodiny) 4. března 2016.
Téma 4 – Plánování práce procesorů
Operační systémy.
7. přednáška 4. dubna 2016 Operační systémy 2015/2016.
Přepínání procesů Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Paměť.
Správa procesů.
Monitor Object 1.
Transkript prezentace:

Operační systémy LS 2014/ přednáška 30. března 2015

Vlákno (thread) Operační systémy LS 2014/2015 -stejně jako procesy mají vlákna své stavy a musí být synchronizovány -Ready, Running, Blocked, nemá stav Suspend, protože je součástí procesu, který je odkládán se všemi svými vlákny (sdílí jeden paměťový prostor) -existují 4 základní stavy vlákna: spawn (vytvoření nového vlákna dělením – nové vlákno má vlastní kontext (stack, obsah registrů, …), block – procesor začne dělat jiné vlákno patřící stejnému nebo jiném procesu, unblock – při ukončení čekání na událost se vlákno vrací do fronty ready, finish – pokud je vlákno kompletní, je prostor jeho kontextu a stacku dealokován -dvě kategorie vláken – user-level thread (ULT), kernel- level thread (KLT) (kernel-suported thread, lightweight process)

Úrovně vláken Operační systémy LS 2014/2015 P P Proces KLT ULT PP P Vláknová knihovna Vláknová knihovna User space Kernel space Pure user-levelPure kernel-levelCombined

Problém konzistence - příklad Scénář Proces vytvořil vlákna T 1 a T 2. T 1 počítá C = A + B. T 2 používá hodnotu X: A = A – X; B = B + X T 1 a T 2 pracují souběžně, avšak jejich rychlosti nejsou známy. Úmysl programátora Nechť A = 2; B = 3; X = 10 T 2 udělá A = A – X; B = B + X[A=-8,B=13,C=5] T 1 spočítá C = A + B, hodnota C nezávisí na X. Možná realita T 2 udělá A = A – X a pak je mu odebrán procesor.[A=-8,B=3,C=-5] T 1 spočítá C = A + B = A – X + B T 2 udělá B = B + X a to už hodnotu C neovlivní. V proměnné C jsou dva různé výsledky. Poznámka Kdyby nedošlo k preempci vlákna T2, žádný problém by nenastal! Operační systémy LS 2014/2015

Multithreading Example on a Uniprocessor time Time quantum expires Process created Blocked Running Ready Thread A (Process 1) Thread B (Process 1) Thread C (Process 2) I/O request Request complete Time quantum expires Operační systémy LS 2014/2015

- zajišťuje iluzi souběžného zpracování několika procesů - time slicing - při preempci operační systém nepovolí žádnému procesu běžet neomezenou dobu, pouze určitý časový interval, jestliže proces běží dlouho, odebere mu OS v rámci přerušení časovače procesor a přidělí jej jinému procesu, délky intervalů běhu procesu jsou jednotky až desítky ms - v průměrném případě se časové sdílení neuplatní, proces většinou stihne udělat vše co potřebuje a vyvolá nějakou službu, její součástí bývá čekání na nějakou událost, takže se procesor stejně přidělí někomu jinému Sdílení času Operační systémy LS 2014/2015

Stanovení časového kvanta - musí být podstatně větší, než režijní interval operačního systému spojený se změnou procesu (přerušení časovačem a provedení dispečerských operací) - musí být větší než typická doba interakce procesu s okolím (ne o moc, aby se nepenalizovaly I/O vázané procesy) přidělení časového kvanta doba odpovědi (s) časové kvantum (q) q - s konec interakce přidělení časového kvanta proces přeplánován časové kvantum (q) doba odpovědi (s) opětovné přidělení časového kvanta běh jiného procesu časové kvantum větší než typická doba interakce časové kvantum menší než typická doba interakce Operační systémy LS 2014/2015

Priorita - statická priorita - je přidělena při vytvoření, nemění se - statický časový interval - při přeplánování je čítač nastaven na konstantní hodnotu, stejnou pro všechny procesy - dynamická priorita, dynamický časový interval - mění se na základě vlastností a chování procesů, vyšší průchodnost operačního systému - správce procesů sleduje dobu, po kterou měl proces procesor (součet momentů Running), pokud je delší než určitá doba, sníží se priorita, náročné procesy běží dlouho, krátké procesy hotovy dříve - možnost zrušení procesu při zacyklení - při přepínání kontextu se zjišťuje, vyčerpal-li proces celý svůj interval, přidělí se tím větší priorita, čím menší doba byla čerpána z povoleného intervalu (časté čekání na periferie, …) Operační systémy LS 2014/2015

Proč multitasking ? procesorV/V Model - zvýšení využití procesoru - pravděpodobnost čekání na V/V - pravděpodobnost pro n procesů - využití procesoru  p n pnpn Operační systémy LS 2014/2015

preemptivní multitasking - libovolné přerušení procesu bez jeho spolupráce, zvětší se kontext (kompletní stav procesoru, pomocných procesorů, …), prostředky se povolí pouze jednomu procesu (I/O kanály, tisk, porty…) - nebezpečí zablokování, řeší se prostřednictvím serverů - speciální procesy pro práci s prostředky, mají své klienty, přepnutí lze vyvolat kdykoliv, v rámci kteréhokoliv přerušení, vývoj: vzájemné volání, omezené přepínání, neomezené přepínání, kooperativní multitasking, preemptivní multitasking Výhody preemptivního multitaskingu: * přechod k jinému programu bez nutnosti přerušovat práci * snadná implementace činností, které musí probíhat paralelně (správa počítačové sítě, …), zajištění běhu dalších procesů * lepší kooperace programů (není potřeba soubory) * nutná podmínka pro víceuživatelské prostředí * lepší využití kapacity výpočetního systému (procesor nezahálí při čekání) Nevýhody preemptivního multitaskingu: * degradace programu při spuštění více úloh, dnes irelevantní * větší režie OS spojená s plánováním * větší, složitější, dražší, náročnější na HW * větší nároky na bezpečnost Preemptivní multitasking Operační systémy LS 2014/2015

Přepínání kontextu procesů proces P 0 proces P 1 operační systém uložení kontextu P 0 předání kontextu P uložení kontextu P 1 předání kontextu P idle běží privilegované instrukce Operační systémy LS 2014/2015

Plánování běhu procesů - pojmy - režim výběru – nonpreemptive (bez předbíhání), vybraný proces běží, dokud se sám neukončí, nevhodné pro víceuživatelské systémy, preemptive (s předbíháním), běžící proces lze přerušit, ochrana před monopolizací procesoru - procesy vázané na I/O – proces opakovaně alternuje mezi potřebou procesoru a periferie, dávka procesorové orientace (jednotky μs) je následována I/O operacemi (řádově delší doba) - procesorově orientovaný proces – dokázal by využívat procesor po neomezenou dobu (dlouhé procesy) - priorita procesu – narušení disciplíny FIFO (spravedlivá obsluha), prioritní úrovně (pro každou z nich je samostatná FIFO), procesy nízké priority mohou stárnout, procesy mohou měnit prioritu dynamicky Operační systémy LS 2014/2015

dlouhodobé – strategické plánování, povolení vytvoření procesu, stupeň multitaskingu střednědobé – taktické plánování, řízení odkládání, rozhodující roli sehrává dostupná paměť, provádí správa paměti, řízení stupně multiprogramování krátkodobé – operativní plánování, plánování procesoru, aktivace přerušením časovače, I/O přerušením, službou OS, signály (semafor), uživatelsky orientované (odpověď, průchod), systémově orientované (využití, spravedlnost, propustnost) - monoprocesor, multiprocesor, RT - minimalizace doby odpovědi, co nejvyšší propustnost, co nejvyšší využití procesoru Plánování běhu procesů - rozdělení Operační systémy LS 2014/2015

Plánování běhu procesů - stavy Operační systémy LS 2014/2015 New Ready/ suspend ReadyRunning Blocked/ suspend Blocked Long-term scheduling Long-term scheduling Medium-term scheduling Short-term scheduling Medium-term scheduling

Plánování běhu procesů Operační systémy LS 2014/2015

Prioritní fronty Processor RQ 0 Blocked queue Release Event wait Event occurs RQ 1 RQ 2 RQ n... Preemption Dispatch Admit Operační systémy LS 2014/2015

Kriteria plánování Uživatelsky orientované (výkonnost) - doba obrátky (od předložení procesu do jeho zpracování, zahrnuje čas zpracování + čekání na zdroje), je možné měřit pro každý job - čas odezvy (pro interaktivní procesy), je lépe měřitelný než doba obrátky Systémově orientované (výkonnost) - propustnost, snaha o maximální množství procesů zpracovaných za jednotku času, závisí na délce procesů, je ovlivněno plánovací politikou, utilizací procesoru,... - využití procesoru, čas, kdy je procesor zaměstnán, jde o významné kritérium, u jednouživatelských OS a RT je méně důležité Operační systémy LS 2014/2015

First Come First Served (FCFS) ProcesVznikTrvání vybírá se proces, který je nejdéle ve frontě připravených procesů, rozhodování není preemptivní, je to silně primitivní plánovací postup, krátké procesy následující po dlouhém procesu vytváří tzv. konvojový efekt (všechny procesy čekají, až skončí dlouhý proces), proces běží tak dlouho, dokud se sám neukončí, pokud je proces orientovaný na procesor, dojde k jeho monopolizaci, procesorově orientované procesy jsou zvýhodňovány, I/O orientované procesy musí čekat, i když už mají dokončenu svoji operaci (nedojde k uvolnění periferie), pro I/O procesy je potřeba zajistit vyšší prioritu, snadno se implementuje, pro operativní plánování se prakticky nepoužívá, pouze jako složka složitějších plánovacích postupů Operační systémy LS 2014/2015

Cyklické plánování (Round Robin) ProcesVznikTrvání vybírá se proces, který je nejdéle ve frontě připravených procesů, rozhodování je nepreemptivní, proces běží po předem stanovenou dobu časového kvanta (jednotky až desítky μ s), po vypršení časového kvanta je proces přeplánován a vrací se na konec fronty připravených procesů, při ignorování plánovací režie dostává každý z n procesů k dispozici 1/n výkonu procesoru, pro q dostatečně velké dochází k degradaci na FCFS, pro malé q se výrazně projevuje plánovací režie, zvýhodněné jsou procesorově vázané procesy, I/O procesy časové kvantum nevyužije a řadí se do fronty Blocked, procesorově vázané procesy je proto předbíhají, neboť se vrací do fronty připravených procesů, efektivita závisí na velikosti q, výrazně lepší čas odezvy, průměrná doba obrátky (je horší než SRT) se zlepší, pokud většina procesu se v q ukončí A B C D E Operační systémy LS 2014/2015

Virtuální RR - model - po ukončení I/O operace je proces přesunut do pomocné fronty, která je obsluhována přednostně před regulérní frontou připravených procesů, procesy spuštěné z této pomocné fronty běží pouze po dobu nevyčerpaného časového kvanta Operační systémy LS 2014/2015

Shortest Process Next (SPN) ProcesVznikTrvání vybírá se připravený proces s nejmenší očekávanou dobou potřeby procesoru, je opět nepreemptivní, nazývá se i SJF (Shortest Job First), procesy vázané na I/O budou upřednostňovány, je potřeba dokázat odhadnout dávku potřeby procesoru, používá se exponenciální průměrování (aproximace budoucnosti z historie), hrozí nebezpečí stárnutí dlouhých procesů, pokud bude vznikat dostatečný počet krátkých procesů, je-li kritérium kvality plánování průměrná doba čekání, je SPN (SJF) optimální algoritmus Operační systémy LS 2014/2015

Průměrování Nechť T[i] je i-tá doba provádění procesu, skutečná doba trvání časového kvanta procesoru přiděleného procesu. Nechť S[i] je odhad i-tého kvanta. Nejjednodušší volba S[i+1] je odhad průměrem: Aby se nemusela opakovaně počítat celá suma, lze tento vztah přepsat: Tím se dá stejná váha každé instanci běhu procesu. Z principu časové lokality platí, že poslední instance běhu procesu lépe vystihují budoucí chování procesu a proto se používá metoda exponenciálního průměrování. Operační systémy LS 2014/2015

Exponenciální průměrování Postup volby příštího kvanta procesoru: Pokud platí, že  > 1/n (parametr vlivu historie), mají poslední instance běhu procesu větší váhu a váhy starších instancí se exponenciálně snižují s růstem vzdálenosti na časové ose: Odhad první instance S[1] se obvykle neprovádí a nastavuje se na hodnotu nula (dává se tím přednost novým procesům). Operační systémy LS 2014/2015

Plánování SRT ProcesVznikTrvání Shortest Remaining Time (nejkratší zbývající čas), jedná se o preemptivní variantu SPN, CPU dostane proces potřebující nejmenší čas do svého dokončení, pokud se proces s kratší délkou trvání objeví, je ihned přeplánováno, pro zjišťování časových záležitostí se používají stejné metody jako u SPN A B C D E Operační systémy LS 2014/2015

Prioritní plánování - každému procesu je přiřazeno prioritní číslo (preference při výběru procesu), CPU se přiděluje procesu s nejvyšší prioritou, nejvyšší prioritě většinou odpovídá nejnižší prioritní číslo (Windows – obráceně), existují varianty preemptivní (když se objeví kvalitnější proces, přeplánuje se) a nepreemptivní (proces vždy doběhne), SPN i SRT jsou příklady prioritního plánování, prioritou je predikovaná délka příštího kvanta procesoru, SPN je nepreemptivní, SRT je preemptivní, problém stárnutí – starvation (týká se procesů s nízkou prioritou), agentura JPP (M.I.T., IBM7094, čekající proces od roku 1967 (1973)), řešením problému stárnutí je zrání procesů (aging - během čekání se zvyšuje priorita procesu) Operační systémy LS 2014/2015

Dynamické priority procesů - několik front procesů s klesajícími prioritami, penalizace dlouhých procesů P(RQ 0 ) > P(RQ 1 ) > … > P(RQ n ) - nový proces se vloží do fronty RQ 0, pokud tento proces spotřebuje svoje časové kvantum, vrátí se do fronty RQ 1, při dalším spotřebování celého kvanta se vrací vždy do méně prioritní fronty až skončí ve frontě RQ n - procesy vázané na I/O budou zůstávat ve frontách s vyšší prioritou, procesorově vázané procesy budou prioritně klesat - dispečer vybírá z fronty RQ i pouze za předpokladu, že je fronta RQ (i-1) až RQ 0 prázdná - v každé frontě se uplatňuje politika FCFS, pouze ve frontě s nejnižší prioritou je RR - při pevném časovém kvantu bude dlouhé zpracování delších procesů, časové kvantum může exponenciálně narůstat podle hloubky fronty připravených procesů RQ i má časové kvantum q = 2 i-1 - delší procesy mohou stále stárnout, lze kombinovat se změnou priority (zrání procesu)

Dynamické priority procesů q = 8 q = 16 q = 32

Prioritní RR q=1 q=2 (i-1) ProcesVznikTrvání Dynamické priority procesů Operační systémy LS 2014/2015

Zpětná vazba (Feedback) A B C D E předem se neznají časy, které budou procesy potřebovat, penalizují se dlouho běžící procesy, dojde-li k preempci z důvodu přečerpání q, sníží se priorita, pro každou prioritu je jedna fronta, nad každou frontou běží RR, nad poslední FCFS ProcesVznikTrvání Operační systémy LS 2014/2015

Srovnání plánovacích politik – použité procesy ProcessArival TimeService Time A03 B26 C44 D65 E82 Operační systémy LS 2014/2015

Srovnání plánovacích politik A B C D E A B C D E A B C D E A B C D E A B C D E A B C D E FCFS RR q=1 RR q=4 SPN SRT Feedback q=1

Process Arrival Time Service Time (Ts) A03A03 B26B26 C44C44 D65D65 E82E82 Průměr FCFS Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,00 8,60 2,65 RR q=1 Finish Time Turnaround Time (Tr) Tr/Ts 4 1, , , , ,50 10,80 2,71 RR q=4 Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,50 10,00 2,71 SPN Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,50 7,60 1,84 SRT Finish Time Turnaround Time (Tr) Tr/Ts 3 1, , , , ,00 7,20 1,59 FB q=1 Finish Time Turnaround Time (Tr) Tr/Ts 4 1, , , , ,5 10,00 2,63 Operační systémy LS 2014/2015

FCFS (First Come First Served) – nejdéle čekající proces z připravených, nonpreemptive, proces se musí ukončit sám (zvýhodnění procesorově orientovaných), snadná implementace Round Robin (cyklické plánování) – výběr stejný jako u FCFS, nonpreemptive, předem stanovené kvantum (desítky ms, při delším kvantu degradace na FCFS), favorizuje procesorově vázané, virtuální RR (pomocná fronta obsluhovaná prioritně, procesy běží pouze po zbytek časového kvanta), prioritní RR SPN (Shortest Process Next) – proces s nejmenší očekávanou dobou potřeby procesoru, nonpreemptive, varianta SRT (Shortest First) preemptivní, jakmile se objeví kratší, dojde k přerušení, zvýhodnění V/V vázaných procesů, problém odhadu potřeby procesoru, exponenciální průměrování (aproximace budoucnosti z historie, přednost novým procesům), znevýhodnění dlouhých procesů Feedback (zpětná vazba) – neznáme délky procesů, penalizace dlouho běžících procesů, pro každou prioritu jedna fronta, výběr pomocí RR, poslední fronta pomocí FCFS Srovnání plánovacích politik