7. přednáška 4. dubna 2016 Operační systémy 2015/2016.

Slides:



Advertisements
Podobné prezentace
7. přednáška konzistence dat (příklad) -multithreading (monoprocesor) -sdílení času -analýza časového kvanta -priorita -přepínání (procesů,
Advertisements

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:
Operační systémy LS 2014/ přednáška 30. března 2015.
Strategické řízení školy s využitím sebehodnocení školy dle modelu CAF RNDr. Hana Žufanová.
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.
Strategické otázky výzkumníka 1.Jaký typ výzkumu zvolit? 2.Na jakém vzorku bude výzkum probíhat? 3.Jaké výzkumné metody a techniky uplatnit?
Ekonomicko-matematické metody č. 11 Prof. RNDr. Jaroslav Ramík, CSc.
Období vzniku: duben _inovace_FG.9.48 Autor : Vladimír TesaříkČlověk a svět práce, finanční gramotnost, nové auto.
Počítačové sítě 8. Využití sítí © Milan Keršlágerhttp:// Obsah: ● sdílení v sítích.
Programové období 2014 – 2020 a proces SEA Mgr. Zuzana Plešková Ministerstvo životního prostředí 14. února 2014.
Hodnocení kvality výuky 2014 – 2015 LS Říjen 2015.
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.
Novelizace předpisu D7/2 k organizování výlukových činností k Lenka Komínová GŘ SŽDC Odbor plánování a koordinace výluk Setkání s dopravci,
Maticové počítače. Při operacích s maticí se větší počet prvků matice zpracovává současně a to při stejné operaci. Proto se pro tyto operace hodí nejlépe.
Téma 1. Charakteristika finančního řízení 1. Cíle finančního řízení 2. Hlavní oblasti finančního managementu 3. Finanční rozhodování podniku 4. Finanční.
Petr Kielar Seminář o stavebním spoření Část VI: Podmínka rovnováhy a SKLV.
Název kapitoly Název podkapitoly Text Schvalovací proces + hodnoticí kritéria Jakub Krátký Praha, 5. května 2016.
Principy Základních registrů Ing. Ondřej Felix, CSc.
Síťové operační systémy OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
Operační systémy Souběh a uváznutí © Milan Keršláger
Rozpočtové určení daní Národní konference VENKOV 2016 Litoměřice 20. – 21. října 2016.
Jsou venkovské školy horší než městské?
Dopravní modely v SUMP Jitka Ondráčková
Počítačová bezpečnost 2. Bezpečnost v OS
Seminář o stavebním spoření
Metodická podpora projektu P-KAP krajskému akčnímu plánování
Schvalovací proces a hodnoticí kritéria
Důležité informace pro rodiče vycházejících žáků
Jak se UČIT K MATURITĚ? Motivace, koncentrace, paměť.
Základy automatického řízení 1
Organizace výroby Organizace a řízení výroby
MICROSOFT WINDOWS.
Operační systémy 9. Spolupráce mezi procesy
MÁ SMYSL POŘÁDAT KONFERENCE?
Vzdělávání pro konkurenceschopnost
Číslo projektu Číslo materiálu název školy Autor Tématický celek
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
OPERAČNÍ SYSTÉMY Část 1 – úloha OS Zpracovala: Mgr. Marcela Cvrkalová
Správa paměti - úvod 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: 
Úloha bodového systému
Dobrý den Horská klinika 2011.
Výběrové metody (Výběrová šetření)
Počítačová bezpečnost 2. Bezpečnost v OS
Aktuální informace k hodnocení strategií MAS
Databáze MS ACCESS 2010.
Operační systémy 10. Souběh a uváznutí
Financováno z ESF a státního rozpočtu ČR.
Oblast: Dobré životní podmínky zvířat
SIMULAČNÍ MODELY.
Souběh 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: 
Schvalovací proces + hodnoticí kritéria
Téma 4 – Plánování práce procesorů
Management Přednáška 7, 8: Plánování.
Název: Normy spotřeby času Autor: Ing. Petr Mareš
Název školy Gymnázium, střední odborná škola, střední odborné učiliště a vyšší odborná škola, Hořice Číslo projektu CZ.1.07/1.5.00/ Název materiálu.
Základy zpracování geologických dat testování statistických hypotéz
1. ročník oboru Mechanik opravář motorových vozidel
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: 
USMĚRŇOVAČE V NAPÁJECÍCH OBVODECH
Schvalovací proces + hodnoticí kritéria
Instalace OS Linux 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: 
ŠABLONY PRO STŘEDNÍ ŠKOLY
Programovatelné automaty (Programmable logic controllers – PLC)
Materiál byl vytvořen v rámci projektu
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Název školy: Autor: Název: Číslo projektu: Název projektu:
Text zápatí (edituje se v menu Vložení / Záhlaví a zápatí)
Předmět: Informatika Ročník: VI. Tématický celek: Základy práce s PC
Informační systém základních registrů
Procesy – základní pojmy
Transkript prezentace:

7. přednáška 4. dubna 2016 Operační systémy 2015/2016

Používanost OS OS 2009 2010 2011 2012 2013 2014 2015 Windows XP 73,43% 64,48% 53,59% 43,74% 35,44% 24,34% 18,93% Windows Vista 17,73% 15,02% 10,17% 6,89% 4,39% 2,98% 2,44% Windows 7 1,47% 14,46% 28,83% 40,85% 45,38% 50,84% 54,92% Windows 8 - 0,35% 5,21% 6,06% 3,79% Windows 8.1 0,73% 6,77% 10,04% Windows 10 2,95% Mac OS 4,03% 5,07% 5,47% 5,87% 6,25% 5,56% 5,27% Linux 1,01% 1,00% 1,06% 1,16% 1,38% 1,55% 2,27% Ostatní 2,33% 0,97% 0,88% 1,12% 1,22% 1,90% 2,34%

Vlákno (thread) 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) Operační systémy 2015/2016

P P P P P Úrovně vláken Proces KLT ULT Vláknová knihovna Vláknová User space Vláknová knihovna Kernel space P P P P Pure user-level Pure kernel-level Combined P Proces KLT ULT Operační systémy 2015/2016

Problém konzistence - příklad Scénář Proces vytvořil vlákna T1 a T2. T1 počítá C = A + B. T2 používá hodnotu X: A = A – X; B = B + X T1 a T2 pracují souběžně, avšak jejich rychlosti nejsou známy. Úmysl programátora Nechť A = 2; B = 3; X = 10 T2 udělá A = A – X; B = B + X [A=-8,B=13,C=5] T1 spočítá C = A + B, hodnota C nezávisí na X. Možná realita T2 udělá A = A – X a pak je mu odebrán procesor. [A=-8,B=13,C=-5] T1 spočítá C = A + B = A – X + B T2 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 2015/2016

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

Sdílení času - 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 Operační systémy 2015/2016

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 časové kvantum větší než typická doba interakce 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 menší než typická doba interakce Operační systémy 2015/2016

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 2015/2016

Proč multitasking ? Model procesor V/V - zvýšení využití procesoru - pravděpodobnost čekání na V/V - pravděpodobnost pro n procesů - využití procesoru pn m = 1 - pn Operační systémy 2015/2016

Preemptivní multitasking 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 Operační systémy 2015/2016

Přepínání kontextu procesů proces P0 proces P1 operační systém uložení kontextu P0 předání kontextu P1 . uložení kontextu P1 předání kontextu P0 idle běží privilegované instrukce Operační systémy 2015/2016

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 2015/2016

Plánování běhu procesů - rozdělení 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 Operační systémy 2015/2016

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

Plánování běhu procesů Processor Ready queue Ready, suspend queue Blocked, suspend queue Blocked queue Interactive users Time-out Release Event wait Event occurs Long-term scheduling Medium-term Short-term Batch jobs Operační systémy 2015/2016

Prioritní fronty . . . RQ0 Dispatch Release Processor RQ1 RQ2 Admit Blocked queue Release Event wait Event occurs RQ1 RQ2 RQn . . . Preemption Dispatch Admit Operační systémy 2015/2016

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 2015/2016

First Come First Served (FCFS) Proces Vznik Trvání 1 3 2 6 4 5 8 - 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 2015/2016

Cyklické plánování (Round Robin) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A B C D E Proces Vznik Trvání 1 3 2 6 4 5 8 - 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čí Operační systémy 2015/2016

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 2015/2016

Shortest Process Next (SPN) Vznik Trvání 1 3 2 6 4 5 8 - 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 2015/2016

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 2015/2016

Exponenciální průměrování Postup volby příštího kvanta procesoru: Pokud platí, že a > 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 2015/2016

Operační systémy 2015/2016

Plánování SRT Proces Vznik Trvání 1 3 2 6 4 5 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A B C D E - 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 Operační systémy 2015/2016

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 2015/2016

Dynamické priority procesů - několik front procesů s klesajícími prioritami, penalizace dlouhých procesů P(RQ0) > P(RQ1) > … > P(RQn) - nový proces se vloží do fronty RQ0, pokud tento proces spotřebuje svoje časové kvantum, vrátí se do fronty RQ1, při dalším spotřebování celého kvanta se vrací vždy do méně prioritní fronty až skončí ve frontě RQn - 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 RQi pouze za předpokladu, že je fronta RQ(i-1) až RQ0 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ů RQi má časové kvantum q = 2i-1 - delší procesy mohou stále stárnout, lze kombinovat se změnou priority (zrání procesu) Operační systémy 2015/2016

Dynamické priority procesů q = 8 q = 16 q = 32 Operační systémy 2015/2016