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

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

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

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

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

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

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

OS Deadlock a prevence

Přidělování CPU 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

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

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Činnost počítače po zapnutí

Distribuovaný systém je takový systém propojení množiny nezávislých počítačů, který poskytuje uživateli dojem jednotného systému.

zos/p8mm.d 24. listopadu

Paralelní programování

Procesy a vlákna - synchronizace

Ukázka zkouškové písemka OSY

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

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

Téma 36. Petr Husa

Procesy a vlákna (Processes and Threads)

Management procesu I Mgr. Josef Horálek

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

Výpočet globálního stavu

Operační systémy. Přednáška 4: Komunikace mezi procesy

Systém adresace paměti

Vzájemné vyloučení procesů

Transakce a zamykání Jiří Tomeš

TÉMATICKÝ OKRUH TZD, DIS a TIS

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

Principy operačních systémů. Lekce 8: Ovladače periferií

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Synchronizace Mgr. Josef Horálek

Distribuované algoritmy

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

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

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

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

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

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Operační systémy. Přednáška 9: Správa paměti III

Zotavení z chyb. Databázové systémy

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

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

DHCP. Martin Jiřička,

Principy operačních systémů. Lekce 3: Virtualizace paměti

Operační systémy. Přednáška 7: Správa paměti I

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Distribuované systémy a výpočty

Operační systémy. Přednáška 2: Procesy a vlákna

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

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

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

Poslední aktualizace: 21. května 2015

Příloha č. 3. Obchodních podmínek OTE, a.s. pro elektroenergetiku. Revize 19 srpen 2015

AKTION CONNECTOR POPIS FUNKCÍ A NÁVOD

Lekce 01 Úvod do algoritmizace

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz.

Nastavení tiskárny pro tisk štítků Geis Str. 1/16

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

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)

Co je počítačová síť?

BRICSCAD V15. Licencování

Aktion Connector NÁVOD

Principy operačních systémů. Lekce 7: Souborový systém

Pro zákazníky používající systém Windows pro sít ové připojení

Název: Řízení pohybu robota ultrazvukovým a tlakovým senzorem I.

ZVLÁŠTNÍ PODMÍNKY PRO DODATEČNÉ IP ADRESY. Poslední verze ze dne

Elektronická evidence tržeb v KelSQL / KelEXPRESS / KelMINI

Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016

Počítačové sítě I. 4. Fyzická vrstva sítí. Miroslav Spousta, 2004

Operační systémy. Přednáška 3: Plánování procesů a vláken

Principy operačních systémů. Lekce 4: Správa procesů

Struktura programu v době běhu

CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA

OS Plánování procesů

Semestrální práce KIV/PC Řešení kolizí frekvencí sítě vysílačů Zdeněk Bečvář A14B0466P 10. ledna 2016

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Maturitní témata Školní rok: 2015/2016

Konfigurace Windows 7

Transakce. Ing. Marek Sušický, RNDr. Ondřej Zýka

Uživatelská příručka

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

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

Je to SMTP a POP3 server který spolupracuje s GSM branami Alphatech. Převádí SMS zprávy na y a y na SMS zprávy.

Manuál k programu pro výpočet únosnosti trapézových plechů SATJAM. verze 6.0

SOFTWARE. Ing. Luděk Richter

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)

Principy operačních systémů. Lekce 1: Úvod

založená rozhodnutím Dozorčí rady ze dne 23. srpna 2018

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

UŽIVATELSKÝ MANUÁL. pro 485COM FW 2.x (MODBUS)

Paralelní programování

Poslední aktualizace: 25. května 2017

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

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

ÚKOLOVÝ LIST. Aktivita projektu Obloha na dlani - Laboratoř vědomostí ROBOT NA PÁSOVÉM PODVOZKU

Transkript:

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

Deadlock Deadlock = uváznutí, zablokování Vznik problému: proces drží určité prostředky, požaduje přidělení dalších prostředků, tyto nedostane a je převeden do stavu blokovaných procesů, přičemž drží nadále již dříve přidělené prostředky požadované jinými (čekajícími) procesy. Např. jeden proces má přidělenu tiskárnu a požaduje modem, druhý proces má přidělen modem a požaduje tiskárnu vzniká tzv. cyklické čekání. Lekce 7: Obrana proti deadlocku 2

Model zablokování orientovaný graf Lekce 7: Obrana proti deadlocku 3

4 Coffmanovy podmínky zablokování 1. Vzájemné vyloučení (Exclusive use) - prostředek vlastní právě jeden proces nebo je volný 2. Drž a čekej (Hold and wait) - proces může vlastnit prostředek a žádat o další 3. Neodnímatelnost (No preemption) - přidělené prostředky nemohou být odebrány 4. Čekání do kruhu (Cyclic dependency) - procesy čekají na prostředky v kruhu, každý článek čeká na prostředek vlastněný dalším článkem Lekce 7: Obrana proti deadlocku 4

Řešení problému zablokování pštrosí algoritmus předstíráme, že problém neexistuje detekce a zotavení (detection and recovery) řešíme, až když nastane problém vyhýbání se zablokování (avoidance) opatrným přidělováním zabráníme realizaci všech Coffmanových podmínek předcházení zablokování (prevention) napadení jedné z Coffmanových podmínek Lekce 7: Obrana proti deadlocku 5

Pštrosí algoritmus Ve skutečnosti nejde o algoritmus Problém zablokování se nedetekuje ani neřeší Používá se tehdy, pokud zablokování nastává jen výjimečně (nebo pokud by náklady na jeho řešení by byly vyšší než případné důsledky problému) Pokud dojde k zablokování, uživatel musí problém řešit tak, že jeden z procesů násilně ukončí a tím přeruší kruh čekání na přidělení prostředků. Používá se ve většině univerzálních OS (Unix, Windows ) Lekce 7: Obrana proti deadlocku 6

Detekce a zotavení (detection and recovery) Systém se nesnaží předcházet výskytu uváznutí, tzn. procesy mohou uváznout. V případě výskytu uváznutí se tuto situaci snaží detekovat a na základě toho se pokusí uváznutí odstranit. Lekce 7: Obrana proti deadlocku 7

Detekce uváznutí Lekce 7: Obrana proti deadlocku 8

Detekce uváznutí Lekce 7: Obrana proti deadlocku 9

Detekce uváznutí Lekce 7: Obrana proti deadlocku 10

Detekce uváznutí - příklad Lekce 7: Obrana proti deadlocku 11

Zotavení z uváznutí Zotavení pomocí odebrání Dočasné násilné odebrání prostředku a půjčení jinému procesu. Ve většině případů to vyžaduje manuální intervenci, (např. odebrání pásky nebo tiskárny). Zotavení pomocí návratu Periodicky si ukládáme důležité informace o procesech, tak abychom později byli schopni je vrátit do předchozích stavů. Při detekci uváznutí, proces, který vlastní kritický prostředek, je vrácen zpět v čase do stavu, kdy daný prostředek ještě nevlastnil. Uvolněný kritický prostředek je přidělen jednomu z uváznutých procesů. Zotavení pomocí ukončení procesů Ukončíme proces, který je součástí smyčky v alokačním grafu. Problém s některými typy procesů (překlad x modifikace databáze). Lekce 7: Obrana proti deadlocku 12

Zamezení vzniku uváznutí (avoidance) Většinou procesy alokují prostředky postupně jeden po druhém. V okamžiku žádosti o další prostředek, systém musí rozhodnout, zda přidělení prostředku je bezpečné (tzn. že nedojde k uváznutí) či nebezpečné. Prostředek bude přidělen pouze pokud to bude bezpečné. Systém se snaží předejít uváznutí opatrnou alokací prostředků. Postupový prostor (postupová cesta) lze použít pro modelování vzniku uváznutí. Lekce 7: Obrana proti deadlocku 13

Postupový prostor Lekce 7: Obrana proti deadlocku 14

Procesy nesmí vstoupit do nebezpečné oblasti (Unsave region). Vstup do této oblasti vždy skončí uváznutím. V bodě t, systém musí rozhodnout, zda přidělí plotter procesu B. Abychom se vyhnuli uváznutí, B musí být pozastaven. Proces B bude pokračovat, až proces A použije a opět uvolní plotter. Lekce 7: Obrana proti deadlocku 15

Bankéřův algoritmus Algoritmus, který předchází vzniku uváznutí (Dijkstra, 1965). Bezpečný stav Pokud nedošlo k uváznutí a existuje takové alokační pořadí, které zaručuje, že každý proces bude postupně uspokojen a skončí. Bankéřův algoritmus kontroluje, zda přidělení prostředku vede na bezpečný stav. Pokud ne, pak je žádost odmítnuta. Pokud ano, prostředek je přidělen. Nevýhoda: proces musí dopředu vědět, které prostředky bude během svého života potřebovat. Lekce 7: Obrana proti deadlocku 16

Bankéřův algoritmus - příklad Lekce 7: Obrana proti deadlocku 17

Prevence uváznutí (prevention) Spočívá v napadení jedné ze 4 Cofmannových podmínek: 1. Vzájemné vyloučení (Exclusive use) 2. Drž a čekej (Hold and wait) 3. Neodnímatelnost (No preemption) 4. Čekání do kruhu (Cyclic dependency) Lekce 7: Obrana proti deadlocku 18

Porušení vzájemného vyloučení Sdílení prostředku s výlučným přístupem pomocí virtualizace. Příklad: sdílení tiskárny Každý proces pošle svůj požadavek do tiskové fronty. Tiskový démon (server) postupně požadavky z tiskové fronty posílá na fyzickou tiskárnu. Pouze tiskový démon přistupuje přímo k fyzické tiskárně. Bohužel toto řešení nelze použít ve všech případech. Lekce 7: Obrana proti deadlocku 19

Porušení podmínky Hold and Wait Každý proces musí alokovat všechny požadované prostředky v okamžiku spuštění (např. OS/360) tzv. úplné vyhrazování prostředků Prostředky nebudou využívány optimálně. Například: Proces si alokuje disk, 5 minut z něj načítá vstupní data, potom 50 minut provádí výpočet a nakonec výsledek tiskne 5 minut na tiskárnu. Disk i tiskárna jsou alokovány po celých 60 minut. Pokud budeme znát požadavky na prostředky v okamžiku spuštění procesu můžeme použít bankéřův algoritmus. Lekce 7: Obrana proti deadlocku 20

Porušení podmínky neodnímatelnosti V praxi v podstatě nelze realizovat Lekce 7: Obrana proti deadlocku 21

Porušení podmínky čekání do kruhu Proces může mít přidělen v daném okamžiku pouze jeden prostředek. Proces může alokovat více prostředků, ale pouze v přesně definovaném pořadí. Prostředky mají přiřazena čísla (např. tiskárna 1, plotter 2, páska 3). Proces může požádat pouze o prostředek s vyšším číslem než je maximum z již alokovaných prostředků. Problém: pro daný počet procesů a prostředků nemusí existovat vhodné očíslování prostředků. V praxi v podstatě nelze realizovat Lekce 7: Obrana proti deadlocku 22