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



Podobné dokumenty
MS Word 2007 REVIZE DOKUMENTU A KOMENTÁŘE

Numerická integrace. 6. listopadu 2012

Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY

Výrazy lze též zavést v nečíselných oborech, pak konstanty označuji jeden určitý prvek a obor proměnné není množina čísel.

Distribuované algoritmy

Rostislav Horčík. 13. října 2006

2.8.8 Kvadratické nerovnice s parametrem

Grafické řešení soustav lineárních rovnic a nerovnic

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1. Podpora digitalizace a využití ICT na SPŠ CZ.1.07/1.5.00/34.

ÚVOD DO HRY PRINCIP HRY

Jan Březina. Technical University of Liberec. 17. března 2015

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

Definice z = f(x,y) vázané podmínkou g(x,y) = 0 jsou z geometrického hlediska lokálními extrémy prostorové křivky k, Obr Obr. 6.2.

Asymptoty grafu funkce

Druhá mocnina. Druhá odmocnina Druhá odmocnina. Předpoklady: V této hodině jsou kalkulačky zakázány.

Prostorové indexační techniky. Zdeněk Kouba

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Externí zařízení Uživatelská příručka

2.1. Pojem funkce a její vlastnosti. Reálná funkce f jedné reálné proměnné x je taková

Algoritmizace a programování

Rychlé vyrovnávací paměti (cache)

2.6.4 Lineární lomené funkce s absolutní hodnotou

PRŮVODCE PRAVIDLY PUBLICITY v projektech spolufinancovaných z Integrovaného operačního programu.

Lineární algebra. Vektorové prostory

Goniometrie trigonometrie

Ozobot aktivita lov velikonočních vajíček

OBEC PŘIBYSLAVICE. Zastupitelstvo obce Přibyslavice. Obecně závazná vyhláška. Obce Přibyslavice Č. 1/2015

Metodika pro nákup kancelářské výpočetní techniky

M-10. AU = astronomická jednotka = vzdálenost Země-Slunce = přibližně 150 mil. km. V následující tabulce je závislost doby

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

(k 1)x k + 1. pro k 1 a x = 0 pro k = 1.

Změnu DPH na kartách a v ceníku prací lze provést i v jednotlivých modulech.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Výukový materiál zpracován v rámci projektu EU peníze školám. Registrační číslo projektu: CZ.1.07/1.5.00/34.

IRACIONÁLNÍ ROVNICE. x /() 2 (umocnění obou stran rovnice na druhou) 2x 4 9 /(-4) (ekvivalentní úpravy) Motivace: Teorie: Řešené úlohy:

Novinky v programu Majetek 2.06

Poruchy modul pro rychlé hlášení poruch z provozu.

( ) ( ) Sčítání vektorů. Předpoklady: 7201

KALOVÉ KOŠE KOŠE DO ULIČNÍCH VPUSTÍ KOŠE DO DVORNÍCH VPUSTÍ LAPAČE NEČISTOT

Příručka pro práci s dataloggerem Labquest 2. Zapínání a domácí obrazovka

Algoritmizace a programování

MATERIÁL NA JEDNÁNÍ Zastupitelstva města Doksy

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE

ŘÍZENÍ ABSORBERU KMITŮ POMOCÍ MATLABU

1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním

SPRÁVNÉ POUŽÍVÁNÍ TACHOGRAFICKÝCH KOTOUČKŮ

Želva se nachází v tzv. grafickém okně (zviditelníme ji klávesou +), v němž jsou vidět i čáry, které nakreslila.

Vzdělávací obor: Prvouka

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

Povinnosti provozovatelů bytových domů na úseku požární ochrany

Metody hodnocení rizik

Fyzikální praktikum 3 - úloha 7

Microsoft Office Project 2003 Úkoly projektu 1. Začátek práce na projektu 1.1 Nastavení data projektu Plánovat od Datum zahájení Datum dokončení

1.2.5 Reálná čísla I. Předpoklady:

AMU1 Monitorování bezpečného života letounu (RYCHLÝ PŘEHLED)

1.2.7 Druhá odmocnina

( ) Slovní úlohy o společné práci I. Předpoklady: Sepiš postup na řešení příkladů o společné práci.

4. Počítačová síť. Co je to počítačová síť

ECB-PUBLIC ROZHODNUTÍ EVROPSKÉ CENTRÁLNÍ BANKY (EU) 2015/[XX*] ze dne 10. dubna 2015 (ECB/2015/17)

Rovnice s neznámou pod odmocninou I

ISŠT Mělník. Integrovaná střední škola technická Mělník, K učilišti 2566, Mělník Ing.František Moravec

Rámcová smlouva na nákup propagačních předmětů

JAK ZVLÁDNOUT E-LEARNINGOVÝ KURZ

Studie o zkušenostech se špatným zacházením v dětském věku (ACE) realizovaná v ČR ZÁVĚREM. Velemínský Miloš

Vícetabulková databáze. Vztahy mezi tabulkami

DMX512 PC Control Stručný návod k použití programu Verze 1.0 Copyright 2007 Dokumentace: Ing. Jaroslav Nušl

B Kvantitativní test. Semestrální práce TUR. Novotný Michal

Krajské kolo Fyzikální olympiády 53. ročník kategorie E

Změna sazby DPH v HELIOS Red po

Operační systém z hlediska procesu Mgr. Josef Horálek

očekávaný výstup Člověk a příroda 2. stupeň P znát základní funkce hlavních orgánů a orgánových soustav rostlin i živočichů ročník 6. č.

Slovní úlohy vedoucí na lineární rovnice I

Univerzitní 2732/8, Plzeň. doc. Dr. RNDr. Miroslavem Holečkem, rektorem IČO:

Žáci mají k dispozici pracovní list. Formou kolektivní diskuze a výkladu si osvojí grafickou minimalizaci zápisu logické funkce

PRAVIDLA FOTBALOVÉHO TURNAJE V MALÉ KOPANÉ POCINOVICE OPEN CUP 2015

Praktické zkušenosti a doporučení

M Ě S T O I V A N Č I C E Palackého náměstí 196/6, Ivančice

Návod na sestavení naháněcí ohrady

Marketing. Modul 3 Zásady marketingu

Organismy. Látky. Bakterie drobné, okem neviditelné, některé jsou původci nemocí, většina z nich je však velmi užitečná a v přírodě potřebná

ZLATO ELFŮ. od Alana R. Moona

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

DVOUPOTRUBNÍ DÁVKOVAČ DD

4 DVOJMATICOVÉ HRY. Strategie Stiskni páku Sed u koryta. Stiskni páku (8, 2) (5, 3) Sed u koryta (10, 2) (0, 0)

7. Silně zakřivený prut

Pocasicz.cz / pocasiesk.sk - zadání výroby

Metodický pokyn č. 45. ke změně Pokynů pro zadávání veřejných zakázek ROP SV v souvislosti s novelou zákona o veřejných zakázkách

Windows 7 kompletní příručka. Bohdan Cafourek. Vydala Grada Publishing a.s. U Průhonu 22, Praha 7 jako svou publikaci

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

Tržní řád Obce Boháňka

Matrika otázky a odpovědi Vidimace částečné listiny. Ing. Markéta Hofschneiderová Eva Vepřková

Sekvenční obvody. S R Q(t+1) 0 0? Q(t)

souřadné systémy geometrické určení polohy pevně spojené se vztažným tělesem

( x ) 2 ( ) Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502

Zdravotnická legislativa

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

Integrita dat, hash, autenticita, šifrovací algoritmus a klíč

Programování 1. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Pokyn D Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami

Business Contact Manager Správa kontaktů pro tisk štítků

Habermaaß-hra 5657A /4796N. Maják v obležení

Transkript:

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

Výpočetní prostředky Výpočetní prostředek Hardwarové zařízení (např. pásková mechanika, tiskárna, D vypalovačka, ). Informace (např. položka v databázi, řádek v systémové interní tabulce, soubor, ). Výlučný přístup k prostředkům Většina výpočetních prostředků může být v jednom okamžiku používána pouze jedním procesem (např. tiskárna, páska, ). Většina procesů potřebuje výlučný přístup k více prostředkům. Dva typy výpočetních prostředků Odnímatelné (Preemptable): mohou být odebrány procesu bez rizika dalších problémů (např.odložení procesu z fyzické paměti na disk). Neodnímatelné (Nonpreemptable): nemohou být odebrány bez rizika (např. D-ROM vypalovačka). 2

Výpočetní prostředky (2) Sekvence kroků při použití prostředku:. Žádost o prostředek. 2. Použití prostředku. 3. Uvolnění prostředku. Žádný prostředek není dostupný žádající proces bude zablokován. Automaticky zablokován prostřednictvím OS a probuzen až daný prostředek bude k dispozici. Žádost skončí s chybou a žádající proces po nějaké době žádost opakuje dokud prostředek nezíská. Definice uváznutí (deadlock): Množina procesů uvázne pokud každý proces v množině čeká na nějakou událost, kterou může vyvolat pouze některý proces z množiny. 3

Modelování uváznutí Uváznutí můžeme modelovat pomocí alokačního grafu. Každá smyčka v grafu představuje uváznutí (procesy ve smyčce čekají a nemohou pokračovat). 4

Příklad: uváznutí proces A proces B proces Žádost o R Žádost o S Žádost o T Žádost o S Žádost o T Žádost o R uvolnění R uvolnění S uvolnění T uvolnění S uvolnění T uvolnění R Alokace s uváznutím: A: Žádost o R B: Žádost o S : Žádost o T A: Žádost o S proces je uspán B: Žádost o T proces je uspán : Žádost o R uváznutí!!! Alokace bez uváznutí: A: Žádost o R : Žádost o T A: Žádost o S : Žádost o R proces je uspán A: uvolnění S... bez uváznutí!!! 5

offmanovy podmínky Nutné podmínky uváznutí. Vzájemné vyloučení. Každý prostředek je buď přidělen právě jednomu procesu a nebo je volný (prostředek nemůže být sdílen více procesy). 2. Podmínka drž a čekej. Proces, který má již přiděleny nějaké prostředky, může žádat o další prostředky (proces může žádat o prostředky postupně). 3. Podmínka neodnímatelnosti. Prostředek, který byl již přidělen nějakému procesu, nemůže mu být násilím odebrán. Musí být dobrovolně uvolněn daným procesem. 4. Podmínka cyklického čekání. Musí existovat smyčka dvou nebo více procesů, ve které každý proces čeká na prostředek přidělený následujícímu procesu ve smyčce. Pokud aspoň jedna z podmínek není splněna, nemůže dojít k uváznutí. 6

Strategie řešení uváznutí. Pštrosí algoritmus. Úplné ignorování celého problému. 2. Detekce a zotavení. K uváznutí může dojít, ale pak je detekováno a odstraněno. 3. Dynamické zamezení vzniku uváznutí pomocí pečlivé alokace prostředků. 4. Prevence pomocí nesplnění aspoň jedné z offmanových podmínek. 7

Pštrosí algoritmus Praktické řešení ve většině univerzálních OS (UNIX, MS windows, ). Uváznutí se vyskytuje relativně zřídka, např. jednou za rok. Hardwarové chyby a chyby v OS se vyskytují mnohem častěji, např. každý měsíc (záplaty, ). Zabránění uváznutí je drahé. Např. v Unixu, nejčastěji používané prostředky v jádru jsou položky v tabulce procesů a položky v tabulce i-nodů (mající samozřejmě omezenou kapacitu). Řešení: Proces se pokusí alokovat prostředek. Pokud není k dispozici, tak skončí s chybou. Administrátor zjistí uvázlé procesy a ukončí je. Toto řešení není přijatelné ve fault tolerant systémech. 8

Detekce a zotavení Systém se nesnaží předcházet výskytu uváznutí, tzn. že 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. 9

Detekce uváznutí Předpokládejme, že existuje pouze jeden prostředek od každého typu. Sestrojíme alokační graf. Jakýkoliv proces, který je součástí smyčky, je uváznutý. Pokud v grafu neexistuje žádná smyčka, tak v systému nedošlo k uváznutí.

Detekce uváznutí (2) Předpokládejme více prostředků od každého typu (m). Algoritmus pro detekci mezi n procesy: Exitující prostředky ( E, E2, E K, Em) E = 3, Již alokované prostředky = M n 2 n2 M M 3 n3 L L M m nm Volné prostředky R R = M R ( A, A2, A K, Am) A = 3, Ještě požadované prostředky n R R 2 n2 R M M R 3 n3 L L R M R m nm Každý prostředek je již alokován nebo je volný: n i = ij + A j = E j

Detekce uváznutí (3) Každý proces je na začátku neoznačen. Algoritmus pro detekci uváznutí:.najdi neoznačený proces Pi, jehož i-tý řádek v R má menší nebo stejné hodnoty jako A. 2.Pokud takový proces existuje, přičti hodnoty i-tého řádku z k hodnotám v A, označ tento proces a pokračuj bodem. 3. Pokud žádný takový proces neexistuje, algoritmus končí. Po skončení algoritmu, všechny neoznačené procesy jsou uvázlé. 2

3 Příklad: detekce uváznutí Máme 3 procesy a 4 typy prostředků (např. pásky, plotry, skenery, R-ROM). Aktuální rozdělení je E = (4, 2, 3, ), A = (2,,, ) = 2 2 = 2 2 R Třetí proces může být upokojen a potom uvolní své alokované prostředky A=(2, 2, 2, ). Dále může být uspokojen druhý proces, který také vrátí své prostředky A=(4, 2, 2, ). Nyníposledníproces může pokračovat Bez uváznutí!

Zotavení z uváznutí Zotavení pomocí odebrání Dočesné 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í promocí 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). 4

Zamezení vzniku uváznutí 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í. 5

Postupový prostor Vstup do barevných obdélníků je zakázán díky výlučnému přístupu k prostředku (uvnitř barevné oblasti by prostředek byl alokován současně dvěma procesy). 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í ploter 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í ploter. 6

Bankéřův algoritmus Algoritmus, který předchází vzniku uváznutí (Dijkstra, 965). 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. 7

Příklad: bankéřův algoritmus V systému je prostředků stejného typu. Procesy A, B, a D budou dohromady potřebovat 22 prostředků. Počáteční stav Bezpečný stav Nebezpečný stav proces má max proces má max proces má max A 6 A 6 A 6 B 5 B 5 B 5 4 2 4 2 4 D 7 D 4 7 D 5 7 Bezpečný stav: (2 volné prostředky), pokud dáme 2 prostředky procesu, ten po skončení uvolní 4 prostředky a ostatní procesy mohou pokračovat. Nebezpečný stav: (pouze volný prostředek), žádný proces nemůže pokračovat. 8

Prevence uváznutí Nesplnění aspoň jedné z offmanových podmínek. Porušení výlučného přístupu 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 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, např. pásky. 9

Prevence uváznutí (2) 2. Porušení podmínky drž a čekej Každý proces musí alokovat všechny požadované prostředky v okamžiku spuštěním (např. OS/36). Prostředky nebudou využívány optimálně. Například: Proces si alokuje pásku, 5 minut z ní načítá vstupní data, potom 5 minut provádí výpočet a nakonec výsledek tiskne 5 minut na tiskárnu. Páska i tiskárna jsou alokovány po celých 6 minut. Pokud budeme znát požadavky na prostředky v okamžiku spuštění procesu můžeme použít bankéřův algoritmus. 2

Prevence uváznutí (3) 3. Porušení podmínky neodnímatelnosti V praxi těžko realizovatelné. 4. Porušení podmínky kruhového čekání a) Proces může mít přidělen v daném okamžiku pouze jeden prostředek. b) 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ř. ptiskárna, ploter 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ů. 2