OS Deadlock a prevence



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

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

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

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

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

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

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

Operační systémy. Tomáš Hudec.

zos/p8mm.d 24. listopadu

Distribuované algoritmy


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í paměti I Mgr. Josef Horálek

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

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

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ

TÉMATICKÝ OKRUH TZD, DIS a TIS

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu Obědvající filosofové

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

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 3: Virtualizace paměti

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

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Výzva k podání nabídek

Procesy a vlákna - synchronizace

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

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

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Management procesu II Mgr. Josef Horálek

Paralelní programování

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

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

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

R S A-01. Zařízení sloužící ke zvýšení bezpečnosti provozu na pozemních komunikacích. Návod na používání a údržbu

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

ISMS. Uživatel jako zdroj rizik. V Brně dne 5. a 12. prosince 2013

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

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

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

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)

PARA Filozofové, kuřáci a holič

Zadání Vytvoříme jednoduchý multithread HTTP server v jazyce Java Spustíme si ho na lokálním počítači A otestujeme ho Zdrojový kód je v

Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

Metodický list č.1. Vladimír Smejkal: Grada, 1999, ISBN (a další vydání)

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Architektura počítače

Monitoring SQL Server, Resource Governor, Tracing SQL Server

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

INFORMAČNÍ TECHNOLOGIE


Zásady realizace participativního rozpočtu pro rok 2016

Zadávací dokumentace

GRAFY A GRAFOVÉ ALGORITMY

Dotační programy Královéhradeckého kraje setkání se zástupci obcí Královéhradeckého kraje (červen 2015)

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

Stavba operačního systému

výhra chvilka výhra chvilka

Jako příklady typicky ch hrozeb pro IT lze uvést: Útok

Vzájemné vyloučení procesů

Návod k obsluze i montáži.

Návod k obsluze i montáži.

1) PC učebna ZŠ Přichystalova 6ks

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

Operační systémy. Tomáš Hudec.

Inteligentní rychlý nabíječ G1100 v 2.0

Uživatelská příručka

1. HDR. 2. Test Práce ve Windows. 3. Tilt-shift efekt. 4. Excel tisk a tvorba grafů. Informatika Ditta Kukaňová

Příloha č. 2 k rozhodnutí ministra o vydání Dodatku k Metodickému pokynu. Č.j.: 15450/ Metodický pokyn

Ukázka zkouškové písemka OSY

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Ing. Igor Kopetschke TUL, NTI

Technická specifikace předmětu zakázky

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Lekce 3 Vizuální programování

PhDr. Edita Bosáková v.r. v.r. v.r. v.r. Rev. Datum Popis Vypracoval Kreslil/psal Kontroloval Schválil

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

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

BOTEX DPX 620 II Uživatelský manuál. Obsah Funkce Všeobecné informace. 1. Přehled 1.1 Přední strana 1.2 Zadní strana

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

ELEKTRONICKÁ PORODNÍ KNIHA POPIS APLIKACE Michal Huptych, Petr Janků, Lenka Lhotská

Akreditace vzdělávacích programů u SPŘ, o.s.

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou.

VÝZVA A ZADÁVACÍ DOKUMENTACE

Administrace Oracle - Správa zdrojů

Střední škola energetická a stavební, Chomutov, Na Průhoně. příspěvková organizace (dále jen organizace)

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

VÝZVA K PODÁNÍ NABÍDEK

S T A T U T Á R N Í M Ě S T O L I B E R E C

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

Synchronizace Mgr. Josef Horálek

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Téma 36. Petr Husa

Program Technické podpory SODATSW spol. s r.o.

Implementace numerických metod v jazyce C a Python

Operační systémy. Přednáška 6: Uváznutí procesů/vláken

Návod na obsluhu SendPíp1 verse V0.2 (PŘEDBĚŽNÝ NÁVOD).

Synchronizace. Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.

Principy operačních systémů. Lekce 2: Správa paměti

ZADÁVACÍ DOKUMENTACE K VEŘEJNÉ ZAKÁZCE: DODÁVKA VÝPOČETNÍ TECHNIKY. Stránka 1 z 13

V Boskovicích dne 21. ledna 2014

Transkript:

OS Deadlock a prevence Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/

Prostředky poskytované OS OS poskytuje procesům systémové prostředky (zdroje, resources) HW zařízení, soubory, semafory, (sdílená) paměť zajímají nás prostředky s exkluzivním přístupem prostředky můžeme rozdělit na odejmutelné (preemptable) např. operační paměť, CPU neodejmutelné (non-preemptable) např. DVD-RW (při vypalování), tiskárna

Řízení přístupu k prostředkům k některým prostředkům si mohou přístup řídit samy procesy např. pomocí semaforů příklad prostředky A a B, procesy P1 a P 2 oba prostředky jsou vyžadované současně prostředky alokujeme postupně alokujeme semafor pro každý prostředek záleží na pořadí alokace!

Řízení přístupu příklad uvažujme postupnou alokaci pro každý proces fungující příklad pokud ovšem alokace proběhne u některého procesu v opačném pořadí může nastat DEADLOCK proces P i1 sem_wait(&sema); sem_wait(&semb); použij_prostředky(a, B); sem_signal(&semb); sem_signal(&sema); proces P 2 sem_wait(&semb); sem_wait(&sema); použij_prostředky(a, B); sem_signal(&sema); sem_signal(&semb);

Deadlock (zablokování) vzájemné zablokování, smrtící objetí definice stavu zablokování skupina procesů je zablokována (deadlocked), když každý proces ve skupině čeká na událost, kterou může vyvolat pouze jiný proces ze skupiny protože událost nelze vyvolat jinak než procesem ve skupině, budou tyto procesy nekonečně čekat předpokládáme zde, že procesy nelze probudit např. přerušením nebo signálem v jehož obsluze by se mohla událost vyvolat

Grafické modelování požadavků prostředky reprezentujeme pravoúhelníky procesy reprezentujeme kruhy alokaci (držení) prostředku Z procesem P znázorňujeme šipkou od Z k P blokující požadavek procesu R na přidělení prostředku Y znázorňujeme šipkou od R k Y

Podmínky vzniku zablokování vzájemné vylučování (mutual exclusion) prostředky lze vlastnit pouze jediným procesem alokace a čekání (hold and wait) proces vlastnící prostředek může požadovat další neodnímatelné prostředky (non-preemptable) OS je nemůže odejmout, musí být explicitně uvolněny vlastnícím procesem cyklické čekání (circular wait) řetěz vzájemně čekajících procesů uzavírá cyklus

Cyklické čekání (obrázek) proces P1 vlastní prostředek Z 1 a je blokován požadavkem na prostředek Z 2 proces P2 vlastní prostředek Z 2 a je blokován požadavkem na prostředek Z 1

Řešení zablokování způsoby řešení možnosti zablokování ignorování problému detekce a obnovení násilné odebrání prostředku obnova (rollback) do stavu bez zablokování (checkpoint) zabití některého procesu vyloučení možnosti vzniku opatrnou alokací zdrojů negování alespoň jedné z předešlých podmínek splnění všech předešlých podmínek je nutné, aby vznikl deadlock stačí vyloučit jedinou

Prevence vzniku zablokování negace vzájemného vylučování spooling (např. tiskárna) negace alokace a čekání (hold and wait) zajistit alokaci všech potřebných prostředků naráz proces je blokován, dokud vše není dostupné proces pak může čekat velmi dlouho některé prostředky zůstávají dlouho nevyužity negace neodnímatelných prostředků zavést možnost násilného odebrání prostředku nelze vždy např. vypalování médií (DVD)

Prevence vzniku zablokování negace cyklického čekání (circular wait) nedovolit alokaci prostředku, pokud by vznikl cyklus definování lineárního uspořádání na prostředcích přidělují se vždy pouze prostředky s vyšším pořadovým číslem než má jakýkoli procesu již přidělený prostředek může nastat zbytečné odmítnutí požadavku na přidělení

Prevence vzniku zablokování dovolení pouze bezpečných stavů bezpečný stav není stav zablokování a existuje plánovací pořadí, při kterém všechny procesy mohou být dokončeny, i když všechny procesy naráz budou požadovat maximum svých potřebných prostředků nebezpečný stav stav, kdy může (ale nemusí vždy) nastat zablokování

Bankéřův algoritmus algoritmus publikoval Dijkstra 1965 řešení situace bankéře při jednání s klienty, kterým poskytuje půjčku pokud požadavek klienta vede k nebezpečnému stavu, je tento požadavek odmítnut výchozí předpoklady pevný počet prostředků i procesů každý proces deklaruje své maximální požadavky postupná alokace prostředků

Bankéřův algoritmus prostředek je na požadavek přidělen jen tehdy, vede-li situace do bezpečného stavu nebezpečný stav je vznik cyklického čekání slabiny algoritmu nelze vždy garantovat pevný počet prostředků nelze zajistit pevný počet procesů proces nemusí znát maximální požadavky předem důsledek: algoritmus je mnohdy prakticky nepoužitelný

Prevence zablokování shrnutí podmínka vzájemné vylučování alokace a čekání neodnímatelné prostředky cyklické čekání řešení spooling všech prostředků alokovat vše naráz dovolit násilné odebrání uspořádání prostředků