Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.

Slides:



Advertisements
Liknande presentationer
Att förstå anonymiteten (översättning från
Advertisements

Justerad metod i RAMS Justerad metod i RAMS 2011 I framställningen av den Registerbaserade arbetsmarknadsstatistiken (RAMS) avseende.
Allvarligt skadade motorcyklister och mopedister Underlag 2.0.
Relationsdatabasdesign
Romersk skulptur Exempel Förutsättningar Kännetecken
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
Klasser och objekt.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning.
Översikt av operativsystem (kap 1 & 2)
Leif Håkansson’s Square Dancer Rotation
Brott och utsatthet för brott Elever som snattat de senaste 12 månaderna.
Resultat från SWEA Framtidsenkät December Januari 2009 REGION ANALYS: MAME Korta version 13 april 2009 Kontakt med enkätgruppen:
Resultat från SWEA Framtidsenkät December Januari 2009 REGIONANALYS / KORTARE VERSION: Svenska avdelningar 9 april 2009 Kontakt med enkätgruppen:
Föreläsning 15 Matlab överkurs KTH, CSC, Vahid Mosavat.
1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm.
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
1 Medarbetarenkät svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
Stora additionstabellen
Kommunpussel Din uppgift är att sortera de organisatoriska delar på nästa sida på ett sådant sätt att det överensstämmer med hur din kommun är organiserad.
Punktprevalensmätning av trycksår 2011, v.40 Resultat från landstingen
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2007.
V ersion Dialogseminarium – Patientens väg i vården Välkommen!
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kap 3 & 4: Processer & trådar.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 9: Virtuellt minne.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Enkätresultat för Fritidshem Föräldrar 2014 Skola - Hällby skola.
Fakta om undersökningen
Gymnasieskolan år 2 Brott och utsatthet för brott 2008 BILD 1 Elever som snattat de senaste 12 månaderna.
Grundskolan år 9 Brott och utsatthet för brott 2008 BILD 1 Elever som snattat de senaste 12 månaderna.
15 x 25 meter. Skriv banenavn Skriv designet af Skriv dato MÅL sväng vänster 6 sväng höger 5 runt 7 Vänster runt hund höger runt.
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
Fakta om undersökningen
TÄNK PÅ ETT HELTAL MELLAN 1-50
Grundskola Elever 2013 Grundskoleenkät - Elever ( per klass)
Kartläggning av Valberedningar tillsatta under Maj 2009.
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Enkätresultat för Fritidshem Elever 2014 Skola:Fritidselever, Gillberga skola.
Fakta om undersökningen
Innehåll, kommunpresentation 3. Rangordning av ordningsstörningar (fråga 1) 4. Problem med nedskräpning (fråga 1a) 5. Problem med skadegörelse (fråga 1b)
1(31) Ett omdiskuterat ämne. Vad är det som händer? 2.
Täckningsgrad Dec 2014 – feb 2015 Täckningsgrad Dec 2014 – feb 2015.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 6: Process- synkronisering.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Styrteknik 7.5 hp distans: SFC Introduktion SFC_A:1
1 Anneli Juhlin FP
Styrteknik 7.5 hp distans: SFC Introduction PLC5A:1 Bilder SFC = Sequential Function Chart Language SFC är ett grafiskt programspråk som används.
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
Bevarande utifrån nya Ladoks perspektiv
Ingenjörsmetodik IT & ME 2008
Schemaläggning Mål –Att förstå den roll som schemaläggning och schemaläggnings-analys spelar för att förutsäga hur realtids-tillämpningar uppfyller sina.
Projekt 5.3 Gilpins och Ayalas θ-logistiska modell A Course in Mathematical Modeling - Mooney & Swift.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
DATABASHANTERING för programmerare Lektion 5 Mahmud Al Hakim
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
När infaller Julafton och hur ofta?
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 15: Parallella subrutiner Parallellitet Processer och trådar Semaforer, monitorer.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 15: Parallella subrutiner Parallellitet Processer och trådar Semaforer, monitorer och synkroniseringsmeddelanden.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
Operativsystem - Baklås Mats Björkman
IT och medier1 Utgående från boken Computer Science av: J. Glenn Brookshear Grundläggande datavetenskap, 4p Kapitel 3 Operativsystem.
Presentationens avskrift:

Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks

1.2 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Deadlock-problemet Ett system består av en begränsad mängd resurser som ska fördelas mellan ett antal processer Deadlock - En mängd blockerade processer som var och en håller en resurs och väntar på att få en resurs som hålls av en annan process i mängden Exempel Systemet har 2 diskar P 1 och P 2 håller var sin disk och behöver den andra disken bägge två Exempel semaforerna A och B, initialiserade till 1 P 0 P 1 wait (A);wait(B) wait (B);wait(A)

1.3 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Systemmodell Resurstyper: R 1, R 2,..., R m CPU-cykler, minne, I/O-enheter Varje resurstyp R i har W i instanser Varje process använder en resurs på följande sätt: request  processen får vänta om resursen är upptagen use Release Oftast programmerarens ansvar, speciellt viktigt vid utveckling av multitrådade program

1.4 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Villkor för deadlock Mutual exclusion: en resurs kan bara användas av en process i taget Hold and wait: en process håller minst en resurs och väntar på resurser som hålls av andra processer No preemption: en resurs kan bara släppas frivilligt av den process som håller den Circular wait: det finns en mängd {P 0, P 1, …, P 0 } väntande processer så att P 0 väntar på en resurs som hålls av P 1, P 1 väntar på en resurs som hålls av P 2, …, P n–1 is väntar på en resurs som hålls av P n, och P 0 väntar på en resurs som hålls av P 0. Deadlock kan uppstå om fyra villkor är uppfyllda samtidigt

1.5 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Resursallokeringsgraf V är uppdelad I två typer: P = {P 1, P 2, …, P n }, mängden av alla processer i systemet R = {R 1, R 2, …, R m }, mängden av alla resurstyper I systemet Begäran-pil – P i  R j Tilldelnings-pil – R j  P i Deadlocks kan beskrivas mer precist med en riktad graf - består av en mängd noder V och en mängd pilar E.

1.6 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Resursallokeringsgraf (forts) Process Resurstyp med 4 instanser P i begär en instans av R j P i håller en instans av R j PiPi PiPi RjRj RjRj

1.7 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Exempel resursallokeringsgraf

1.8 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Resursallokeringsgraf med en deadlock

1.9 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Graf med cykel men utan deadlock

1.10 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Slutsats Om grafen inte innehåller någon cykel  ingen deadlock Om grafen innehåller en cykel  Om det bara finns en instans av varje resurstyp - deadlock Om det finns flera instanser av varje resurstyp - kanske eller kanske inte deadlock

1.11 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Metoder för att hantera deadlocks Använda ett protokoll som förebygger eller undviker deadlock Använda ett protokoll som upptäcker och återhämtar systemet från en deadlock Ignorera problemet och låtsas som om deadlock inte kan inträffa; används av de flesta OS, inklusive UNIX och Windows

1.12 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Förebygga deadlock Mutual Exclusion – måste vara uppfyllt för resurser som inte är delbara (t ex skrivare) Hold and Wait Antingen får en process alla resurser från början eller så får den bara begära resurser när den inga har Lågt resursutnyttjande; starvation möjligt Se till att något av villkoren inte kan uppfyllas:

1.13 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Förebygga deadlock (forts) No Preemption – Kan användas för resurser såsom CPU-register och minne, men svårare för andra resurser, t ex skrivare Circular Wait – ge ett nummer till alla resurstyper och kräva att processerna begär resurser i stigande nummerordning

1.14 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Undvika deadlock Enklaste modellen – varje process deklarerar det maximala antalet resurser av varje typ den kommer att använda En algoritm undersöker sen dynamiskt tillståndet på resursallokeringen Tillståndet definieras av antalet tillgängliga och allokerade resurser och processernas max-krav Systemet har mer information om hur resurser kommer att efterfrågas

1.15 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Säkert tillstånd (Safe State) När en process begär en tillgänglig resurs måste systemet bestämma om systemet hamnar i ett säkert tillstånd om resursen allokeras till processen Säkert tillstånd – systemet kan allokera resurser till varje process i någon ordning och ändå undvika deadlock Om ingen sådan ordning finns så befinner sig systemet i ett osäkert tillstånd – deadlock kan inträffa

1.16 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Safe, Unsafe, Deadlock State

1.17 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Resursallokeringsgraf En resursallokeringsgraf kan användas när en enda instans av varje resurstyp finns En streckad pil P i  R j indikerar att process P j kan komma att begära resurs R j Konverteras till en begäran-pil när processen begär en resurs Begäran kan uppfyllas om ingen cykel finns i grafen – säkert tillstånd Konverteras till en tilldelnings-pil när resursen allokeras till processen

1.18 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Resursallokeringsgraf

1.19 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Osäkert tillstånd i en Resursallokeringsgraf

1.20 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Banker’s Algorithm Används när flera instanser av varje resurstyp finns Varje process deklarerar max antal av varje resurstyp När en process begär en resurs kollar systemet först om allokeringen kommer att lämna systemet i ett säkert tillstånd

1.21 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Datastrukturer för Banker’s Algorithm Available: Vektor av längden m. antal instanser av varje resurs Max: matris med storleken n x m Allocation: matris med storleken n x m Need: matris med storleken n x m Need [i,j] = Max[i,j] – Allocation [i,j] n = antal processer, m = antal resurstyper.

1.22 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Algoritm för säkert tillstånd 1. Låt Work och Finish vara vektorer med längderna m and n. Initialisera: Work = Available Finish [i] = false för i = 0, 1, …, n- 1 2.Hitta ett index i så att både: (a) Finish [i] = false (b) Need i  Work Om inget sådant i existerar, gå till steg 4 3.Work = Work + Allocation i Finish[i] = true gå till steg 2 4.Om Finish [i] == true för alla i är systemet i ett säkert tillstånd

1.23 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Algorithm för begäran av resurser Request = vektor för process P i. Om Request i [j] = k vill process P i ha k instanser av resurstyp R j 1.Om Request i  Need i gå till steg 2. Om ej, felmeddelande 2.Om Request i  Available, gå till steg 3. Om ej måste P i vänta 3.Låtsas att allokera de begärda resurserna till P i genom att göra följande: Available = Available – Request; Allocation i = Allocation i + Request i ; Need i = Need i – Request i ; Om säkert  allokera resurserna till Pi Om osäkert  Pi måste vänta

1.24 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Exempel på Banker’s Algorithm 5 processer P 0 till P 4 ; 3 resurstyper: A (10 instanser), B (5 instanser), och C (7 instanser) Tillstånd vid tiden T 0 : Allocation MaxAvailable A B C A B C A B C P P P P P

1.25 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Exempel (forts) Innehållet i matrisen Need definieras som Max – Allocation Need A B C P P P P P Systemet är i ett säkert tillstånd eftersom ordningen uppfyller kriterierna

1.26 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Exempel: P 1 begär (1,0,2) Kolla att Request  Available (dvs, (1,0,2)  (3,3,2)  true AllocationNeedAvailable ABCA B CA B C P P P P P Algoritmen visar att ordningen uppfyller villkoren Kan en begäran av (3,3,0) av P 4 beviljas? Kan en begäran av(0,2,0) av P 0 beviljas?

1.27 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Upptäcka deadlock Algoritm när alla resurstyper bara har en instans: Använd en wait-for graf Noderna är processer P i  P j om P i väntar på P j Med jämna mellanrum söker algoritmen efter cykler i grafen. Om en cykel finns är systemet i deadlock Hur ofta ska grafen genomsökas?

1.28 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Resursallokeringsgraf och Wait-for graf Resursallokeringsgrafmotsvarande wait-for graf

1.29 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Återhämtning från deadlock: Process-terminering Avsluta alla processer i deadlock Avsluta en process åt gången tills deadlock-cykeln försvinner I vilken ordning skall vi avsluta processerna? Processens prioritet Hur länge processen har exekverat, hur länge den har kvar Resurser som processen har använt Resurser som processen behöver Hur många processer som behöver avslutas Är processen interaktiv eller batch?