PB153 Operační systémy a jejich rozhraní

Podobné dokumenty
Principy operačních systémů. Lekce 7: Obrana proti deadlocku

OS Deadlock a prevence

2010/2011 ZS. Operační systém. prostředky, zablokování

Zablokování (Deadlock) Mgr. Josef Horálek

08. Deadlock Přidělování paměti. ZOS 2006, L. Pešička

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011

Přidělování CPU Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Petr Štěpán, K13133 KN-E-129. Téma 6. Deadlock. Správa paměti

Činnost počítače po zapnutí

Přidělování zdrojů (prostředků)

TÉMATICKÝ OKRUH TZD, DIS a TIS

Základní datové struktury

Paralelní programování

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH

Vzájemné vyloučení procesů

Distribuované algoritmy - přehled. Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.

Principy operačních systémů. Lekce 6: Synchronizace procesů

zos/p8mm.d 24. listopadu

Virtualizace MetaCentra

Stavba operačního systému

Teorie front. Systém hromadné obsluhy

Vstupně - výstupní moduly

Procesy a vlákna Mgr. Josef Horálek

OS Plánování procesů

Základy umělé inteligence

Stochastické procesy - pokračování

Procesy a vlákna - synchronizace

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

Téma 36. Petr Husa

Synchronizace Mgr. Josef Horálek

Vstupně výstupní moduly. 13.přednáška

Principy počítačů a operačních systémů

Výběr zdrojů, zadávání a správa úloh v MetaCentru

Procesy a vlákna (Processes and Threads)

11. Tabu prohledávání

vjj 1. Priority. Dispatcher

Přijímací zkouška - informatika

Lineární datové struktury

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

MetaCentrum - Virtualizace a její použití

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

4. Úvod do paralelismu, metody paralelizace

Von Neumannovo schéma

Výběr zdrojů, zadávání a správa úloh

Při překrývání se využívá toho, že ne všechny moduly programu jsou vyžadovány současně. Jakmile skončí využívání jednoho

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Přidělování paměti I Mgr. Josef Horálek

Výroba výrobku X ze tří materiálů A, B a C

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Přerušovací systém s prioritním řetězem

Struktura programu v době běhu

Návrh vyhlášky k zákonu o kybernetické bezpečnosti. Přemysl Pazderka NCKB

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Synchronizace procesů

09. Memory management. ZOS 2006, L.Pešička

Správa systému MS Windows II

Výpočetní zdroje v MetaCentru a jejich využití

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

Distribuované systémy a výpočty

BI-JPO. (Jednotky počítače) M. Sběrnice

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Řízení IO přenosů DMA řadičem

Služby pro zařízení vysokého napětí. Spolehlivé sledování stavu zařízení

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Operační výzkum. Síťová analýza. Metoda CPM.

Služba ve Windows. Služba (service) je program

Dynamické datové struktury IV.

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.

AGP - Accelerated Graphics Port

MANUÁL PRÁCE S HELPDESK VÁŠ SUPPORTNÍ TÝM SPOLEČNOSTI AXIOM PROVIS INT., S.R.O.

07. Plánování procesů Deadlock. ZOS 2006, L. Pešička

Jak funguje element deep history v UML

Karty externích médií

TÉMATICKÝ OKRUH Softwarové inženýrství

Paralelní programování

SÍŤOVÁ ANALÝZA. Kristýna Slabá, 1. července 2010

3. Počítačové systémy

PB002 Základy informačních technologií

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

Windows 8.1 (5. třída)

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PŘIDĚLOVÁNÍ PROCESORU. doc. Dr. Ing. Oldřich Kodym.

Enterprise Mobility Management

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

PŘÍSTUPOVÉ METODY KE KOMUNIKAČNÍMU KANÁLU

Programování v jazyce C a C++

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Návrh asynchronního automatu

Poslední aktualizace: 21. května 2015

Operační systémy 1. Přednáška číslo Struktura odkládacích zařízení

Karty externích médií Uživatelská příručka

Přidělování paměti II Mgr. Josef Horálek

Cesta k dotacím. Grantika České spořitelny. Karel Goldemund, generální ředitel společnosti Grantika ČS. Praha 7. dubna 2010

Roury a zprávy Mgr. Josef Horálek

Transkript:

PB153 Operační systémy a jejich rozhraní Uváznutí 1

Problém uváznutí Existuje množina blokovaných procesů, každý proces vlastní nějaký prostředek (zdroj) a čeká na zdroj držený jiným procesem z této množiny Příklad 1 v systému existují 2 páskové mechaniky procesy P1 a P2 chtějí kopírovat data z pásky na pásku, každý z procesů vlastní jednu mechaniku a požaduje alokací druhé Příklad 2 Semafory A a B, inicializované na 1 P 0 P 1 wait (A); wait(b) wait (B); wait(a) 2

Příklad: úzký most Most s jednosměrným provozem Každý vjezd mostu lze chápat jako zdroj Dojde-li k uváznutí, lze ho řešit tím, že se jedno auto vrátí Preempce zdroje (přivlastnění si zdroje, který vlastnil někdo jiný) a vrácení soupeře do situace před žádostí o přidělení zdroje (preemption a rollback) Při řešení uváznutí se může vracet i více vozů Může docházet ke stárnutí 3

Definice uváznutí a stárnutí Uváznutí množina procesů P uvázla, jestliže každý proces P i z P čeká na událost (uvolnění prostředku, zaslání zprávy), kterou vyvolá pouze některý z procesů P Stárnutí požadavky 1 nebo více procesů z P nebudou splněny v konečném čase z důvodů vyšších priorit jiného procesu z důvodů prevence uváznutí apod. 4

Model Typy zdrojů R 1, R 2,, R m tiskárna, paměť, I/O zařízení, Každý zdroj R i má W i instancí Každý proces používá zdroj následujícím způsobem 1. žádost 2. použití 3. uvolnění (v konečném čase) 5

Charakteristika uváznutí K uváznutí dojde, když začnou současně platit 4 následující podmínky vzájemné vyloučení (mutual exclusion) sdílený zdroj může v jednom okamžiku používat pouze jeden proces ponechání si zdroje a čekání na další (hold and wait) proces vlastnící alespoň zdroj čeká na získání dalšího zdroje, dosud vlastněného jiným procesem bez předbíhání (no preemption) zdroj lze uvolnit pouze procesem, který ho vlastní, dobrovolně po té, co daný proces zdroj dále nepotřebuje kruhové čekání (circular wait) existuje takový seznam čekajících procesů (P 0, P 1,, P n ), že P 0 čeká na uvolnění zdroje drženého P 1, P 1 čeká na uvolnění zdroje drženého P 2,, P n-1 čeká na uvolnění zdroje drženého P n, a P n čeká na uvolnění zdroje drženého P 0 6

Graf přidělení zdrojů Resource-Allocation Graph, RAG Množina uzlů V a množina hran E uzly jsou dvou typů: P= {P 1, P 2,, P n }, množina procesů existujících v systému R = {R 1, R 2,, R m }, množina zdrojů existujících v systému Hrana požadavku orientovaná hrana P i R j Hrana přidělení orientovaná hrana R j P i Proces: P i Zdroj se 4 instancemi: 7 Proces P i požadující prostředek R j : Proces P i vlastnící prostředek R j : P i P i

Příklad RAG (bez cyklu) 8

Příklad RAG (s uváznutím) 9

Příklad RAG (bez uváznutí) 10

RAG: závěry Jestliže se v RAG nevyskytuje cyklus k uváznutí nedošlo Jestliže se v RAG vyskytuje cyklus existuje pouze jedna instance zdroje daného typu k uváznutí došlo existuje více instancí zdroje daného typu k uváznutí může (ale nemusí) dojít 11

Problém uváznutí 12 Ochrana před uváznutím prevencí zajistíme, že se systém nikdy nedostane do stavu uváznutí zrušíme platnost některé nutné podmínky Obcházení uváznutí detekce potenciální možnosti vzniku uváznutí a nepřipuštění takového stavu zamezujeme současné platnosti všech nutných podmínek prostředek se nepřidělí, pokud by hrozilo uváznutí (hrozí stárnutí) Obnova po uváznutí uváznutí povolíme, ale jeho vznik detekujeme a řešíme Ignorování hrozby uváznutí uváznutí je věc aplikace ne systému způsob řešení zvolený většinou OS

Ochrana prevencí Nepřímé metody zneplatnění některé nutné podmínky Virtualizací prostředků, ruším nutnost vzájemné výlučnosti při přístupu požadováním všech prostředků najednou odebíráním prostředků Přímé metody nepřipuštění platnosti postačující podmínky (cyklus v grafu) uspořádání pořadí vyžadování prostředků 13

Prevence uváznutí (1) Vzájemné vyloučení podmínka není nutná pro sdílené zdroje u nesdílených zdrojů musí podmínka platit řeší se např. virtualizací prostředků (např. tiskárny) Ponechání zdrojů a čekání na další při žádosti o zdroje proces žádné zdroje vlastnit nesmí proces musí požádat o zdroje a obdržet je dříve než je spuštěn běh procesu důsledkem je nízká efektivita využití zdrojů a možnost stárnutí 14

Prevence uváznutí (2) Zakázané předbíhání jestliže proces držící nějaké zdroje a požadující přidělení dalšího zdroje, nemůže zdroje získat okamžitě, pak se uvolní všechny tímto procesem držené zdroje odebrané zdroje se zapíší do seznamu zdrojů, na které proces čeká proces bude obnoven, pouze jakmile může získat jak jím původně držené zdroje, tak jím nově požadované zdroje Zabránění kruhovému pořadí zavedeme úplné uspořádání typů zdrojů a každý proces bude žádat o prostředky v pořadí daném vzrůstajícím pořadí výčtu 15

Obcházení uváznutí Systém musí mít nějaké dodatečné apriorní informace Nejjednodušší a nejužitečnější model požaduje, aby každý proces udal maxima počtu prostředků každého typu, které může požadovat Algoritmus řešící obcházení uváznutí dynamicky zkouší, zda stav systému přidělování zdrojů zaručuje, že se procesy v žádném případě nedostanou do cyklické fronty čekání Stav systému přidělování zdrojů se definuje počtem dostupných a přidělených zdrojů a maximem žádostí procesů 16

Detekce uváznutí Umožníme, aby došlo k uváznutí Ale toto uváznutí detekujeme Aplikujeme plán obnovy 17

1 instance prostředku každého typu Udržuje se graf čekání (wait-for graph) uzly jsou procesy P i P j jestliže P i čeká na P j Periodicky se provádí algoritmus, který v grafu hledá cykly Algoritmus pro detekci cyklu v grafu požaduje provedení n 2 operací, kde n je počet uzlů v grafu 18

Grafy Graf přidělení zdrojů Odpovídající graf čekání 19

Obnova: ukončení procesu Násilné ukončení uváznutých procesů Násilně se ukončuje jednotlivě proces po procesu, dokud se neodstraní cyklus Čím je dáno pořadí násilného ukončení? priorita procesu doba běhu procesu, doba potřebná k ukončení procesu prostředky, které proces použil prostředky, které proces potřebuje k ukončení počet procesů, které bude potřeba ukončit preference interaktivních nebo dávkových procesů 20

Obnova: nové rozdělení prostředků Výběr oběti: minimalizace ceny Návrat zpět (rollback) návrat do některého bezpečného stavu, proces restartujeme z tohoto stavu Stárnutí některý proces může být vybírán jako oběť trvale řešení: do cenové funkce zahrneme počet restartů (rollbacků) 21