Systeme 1 Kapitel 7 Deadlocks WS 2009/10.

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Algorithmen für das Erfüllbarkeitsproblem SAT
Christian Scheideler SS 2009
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
10.2 Wechselseitiger Ausschluss in Hardware
Polynomial Root Isolation
Kapitel 6: Klassifizierung von Sortiertechniken
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Default Logiken Zhao Li
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht Graphen. Manfred Thaller, Universität zu Köln Köln.
Algorithmen und Komplexität
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Systeme 1 Kapitel 7.1 Deadlocks WS 2009/10.
Kapitel 6.1 Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 5 Scheduling WS 2009/10.
Kapitel 7.2 Dining philosophers problem
Systeme 1 Kapitel 5.1 Unix Scheduling WS 2009/101.
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Baumstrukturen Richard Göbel.
Kapitel 10 Nebenläufigkeit und wechselseitiger Ausschluss
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Transaktionen in verteilten Datenbanken
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Statistische Methoden I WS 2002/2003 Probeklausur Freitag, 13. Dezember statt Vorlesung - Nächsten Freitag!!!
Verklemmungen Bei sperrenbasierter Synchronisation können sogenannte Verklemmungen (engl. deadlocks) auftreten, in denen Transaktionen sich gegenseitig.
Hinweise zum 10. Übungsblatt zu GIN1b, WS04/05 Prof. Dr. W. Conen (Version 1.0alpha, )
Folie 1 Kapitel II. Vom Raumbegriff zu algebraischen Strukturen Neubeginn: Herleitung des Begriffs Vektorraum aus intuitiven Vorstellungen über den Raumbegriff.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Effiziente Algorithmen
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Beispiel 9.10 Theorie der Zinsstruktur
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Datenstrukturen für Landkarten
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 10 SS 2000 Quadtrees.
Geoinformation II Vorlesung 4 SS 2001 Voronoi-Diagramme.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
§3 Allgemeine lineare Gleichungssysteme
Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss
Über die Entstehung naturwissenschaftlicher Erkenntnisse.
Wahrscheinlichkeitsrechnung
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Betriebssysteme Übung 2. Tutorium. Task 1 – Locks (1) Wozu Locks? Dienen dazu, exklusiven Zugriff auf eine Ressource sicherzustellen Lock = binäre Semaphore.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Mehrbenutzerzugriff auf GIS-Daten
Landkarten Landkarten sind Tesselationen mit folgenden Eigenschaften:
Synchronisation paralleler Transaktionen  AIFB SS Sperrverfahren Sperrverfahren (13/18) Behandlung von Konflikten bei der Sperrvergabe.
Constraint Delaunay Triangulations
Aufgabe 4 Betrachten Sie das unten dargestellte Klassendiagramm, das für eine Bibliothek zur Verwaltung ihrer Buchbestände modelliert wurde. Modellieren.
0 3. Übung zu Software Engineering Christoph Lembeck Zustandsautomat A = (Q, , , q 0, F) Hier: Q = Menge der Fenster und Dialoge  = Benutzereingaben.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Projekt Graphentheorie Eulerpfad
Aufgaben Semaphore Übersicht (Dijkstra)
 Präsentation transkript:

Systeme 1 Kapitel 7 Deadlocks WS 2009/10

Deadlocks Definition: Eine Menge von Prozessen befindet sich in einem Deadlock-Zustand, wenn jeder Prozess aus der Menge auf ein Ereignis wartet, das nur ein anderer Prozess aus der Menge auslösen kann. 1 2 4 3 WS 2009/10

Beispiel Exklusive Ressourcen 1 und 2 Hier kann es zu einer Deadlock-Situation kommen! Prozess 0 wartet auf Freigabe von Ressource 2 Prozess 1 wartet auf Freigabe von Ressource 1 /* Prozess 0 */ ... Fordere Ressource 1 an Fordere Ressource 2 an Benutze beide Ressourcen /* Prozess 1 */ ... Fordere Ressource 2 an Fordere Ressource 1 an Benutze beide Ressourcen WS 2009/10

Voraussetzungen für Deadlocks Folgende Voraussetzungen müssen erfüllt sein, damit ein Deadlock auftreten kann: Wechselseitiger Ausschluss: Jede Ressource ist entweder verfügbar oder genau einem Prozess zugeordnet. Hold-and-wait-Bedingung: Prozesse, die schon Ressourcen reserviert haben, können noch weitere Ressourcen anfordern. Ununterbrechbarkeit: Ressourcen, die einem Prozess bewilligt wurden, können nicht gewaltsam wieder entzogen werden. Zyklische Wartebedingung: Es muss eine zyklische Kette von Prozessen geben, von denen jeder auf eine Ressource wartet, die dem nächsten Prozess in der Kette gehört. Leider sind in realen Betriebssystemen diese Bedingungen üblicherweise erfüllt. WS 2009/10

Voraussetzungen für Deadlocks Ressourcenbelegungen und Ressourcenanforderungen können durch einen gerichteten Belegungs-Anforderungs-Graphen dargestellt werden. Es gibt 2 Arten von Knoten: Kreise repräsentieren Prozesse pi: Quadrate repräsentieren Ressourcen rj: Eine Kante von einer Ressource rj zu einem Prozess pi bedeutet: Ressource rj wird von Prozess pi belegt. Eine Kante von einem Prozess pi zu einer Ressource rj bedeutet: Prozess pi hat Ressource rj angefordert, aber noch nicht erhalten. pi rj rj pi „gehört“ pi rj „will“ WS 2009/10

Modellierung von Ressourcenbelegung und Ressourcenanforderung Ein Zyklus in dem Graphen existiert genau dann, wenn man von einem Knoten ausgehend über eine Folge von Kanten wieder zu dem Knoten zurückkommt: Zyklen im Belegungs-Anforderungsgraphen repräsentieren Deadlocks! p1 r1 r2 p2 WS 2009/10

Beispiel: Abarbeitungsfolge 1 Prozesse p1, p2, p3, Ressourcen R, S, T Prozess p1: Anforderung R, Anforderung S, Freigabe R, Freigabe S Prozess p2: Anforderung S, Anforderung T, Freigabe S, Freigabe T Prozess p3: Anforderung T, Anforderung R, Freigabe T, Freigabe R 1. p1 verlangt R. p1 p2 p3 R S T 2. p2 verlangt S. p1 p2 p3 R S T 3. p3 verlangt T. p1 p2 p3 R S T p1 p2 p3 R S T 4. p1 verlangt S. p1 p2 p3 R S T 5. p2 verlangt T. p1 p2 p3 R S T 6. p3 verlangt R. Deadlock! WS 2009/10

Beispiel: Abarbeitungsfolge 2 Prozesse p1, p2, p3, Ressourcen R, S, T Prozess p1: Anforderung R, Anforderung S, Freigabe R, Freigabe S Prozess p2: Anforderung S, Anforderung T, Freigabe S, Freigabe T Prozess p3: Anforderung T, Anforderung R, Freigabe T, Freigabe R 1. p1 verlangt R. 2. p3 verlangt T. 3. p1 verlangt S. p1 p2 p3 p1 p2 p3 p1 p2 p3 R S T R S T R S T 4. p3 verlangt R. 5. p1 gibt R frei. 6. p1 gibt S frei. p1 p2 p3 p1 p2 p3 p1 p2 p3 Kein Deadlock! R S T R S T R S T WS 2009/10

Verhinderung von Deadlocks: Bankieralgorithmus Bankieralgorithmus von Dijkstra (1965) verhindert Deadlocks im System. Scheduling (Prozessorzuteilung an Prozesse) in einer Weise, dass keine Deadlocks auftreten können. Voraussetzungen: Es ist im Voraus bekannt, welche und wie viele Ressourcen die einzelnen Prozesse (maximal) anfordern werden. Diese maximale Anforderung übersteigt für keinen Prozess die zur Verfügung stehenden Ressourcen. Nach der 2. Voraussetzung gibt es auf jeden Fall einen Ablauf, bei dem es kein Problem mit fehlenden Ressourcen / Deadlocks gibt: Führe einfach alle Prozesse nacheinander aus. Nach Ablauf eines Prozesses gibt dieser sicherlich alle seine Ressourcen frei. Grundidee des Bankieralgorithmus: Versuche möglichst viel „Pseudo-Parallelismus“ zu erreichen (keine streng sequentielle Abarbeitung der Prozesse)‏ Riskiere dabei aber an keinem Punkt eine potentielle Deadlock-Situation! WS 2009/10

Bankieralgorithmus Vorgehen: Überführe das System immer nur in sichere Zustände! Ein Zustand ist sicher, wenn es auf jeden Fall eine deadlockfreie „Restausführung“ aller Prozesse gibt, unabhängig davon, in welcher Weise die Prozesse in Zukunft ihre Ressourcenanforderungen und –freigaben durchführen werden, d.h. insbesondere, wenn die Prozesse ihre restlichen Anforderungen auf einen Schlag stellen und Freigaben erst bei Prozessbeendigung durchführen. Sonst: Zustand ist unsicher. Nach Voraussetzung ist der Startzustand sicher! Beachte: Ein unsicherer Zustand muss nicht notwendigerweise zu einem Deadlock führen. WS 2009/10

Bankieralgorithmus Der Bankieralgorithmus prüft also bei jeder Ressourcenanforderung eines Prozesses pi, ob das System bei Erfüllung der Anforderung in einen unsicheren Zustand kommt. Falls ja: Erfülle Anforderung nicht, stelle Prozess pi zurück und mache mit einem anderen Prozess weiter. Dadurch garantiert der Bankieralgorithmus in jedem Fall eine deadlockfreie Ausführung. Noch zu zeigen: Wie wird auf sicheren Zustand geprüft? (nächste Vorlesung) WS 2009/10