Verklemmungen - Deadlocks

Ähnliche Dokumente
Deadlocks. Christoph Lindemann. Betriebssysteme. Betriebssysteme WS 2004/05. Fahrplan. Inhalt. Das Deadlock Problem

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

Inhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen

Deadlock. Peter Puschner Institut für Technische Informatik

Kapitel 5 Verklemmungsprobleme. Verklemmungsprobleme

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

2.3 Prozessverwaltung

Systeme I: Betriebssysteme Kapitel 6 Deadlocks. Wolfram Burgard

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

1 Prozesse und Scheduling (12 Punkte)

Übung zu Grundlagen der Betriebssysteme. 11. Übung

9. Foliensatz Betriebssysteme

Prozeß-Interaktion u. -Kommunikation

9. Vorlesung Betriebssysteme

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci

Betriebssysteme (BS)

Tafelübung zu BSRvS1. 3. Philosophen. Fortsetzung Grundlagen C-Programmierung

3. Philosophen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Datenbanksysteme 2009

9 Verteilte Verklemmungserkennung

Single- und Multitasking

Prozessor (CPU, Central Processing Unit)

1. Einführung in Temporallogik CTL

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG

( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Wartende Prozesse in einer (FIFO-) Warteschlange organisieren

Betriebssysteme - Deadlocks

Domänenmodell: Fadenkommunikation und -synchronisation

CALCULATING KPI QUANTITY-INDEPENDENT ROUTE TIME

Parallele Prozesse. Prozeß wartet

Prioritäten/Zeitstempel-Verfahren

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien

Number of Maximal Partial Clones

Prozesse und Scheduling

Kapitel 8 Betriebsmittelverwaltung und Verklemmungen (deadlocks)

Klausur Echtzeitsysteme

Oracle 9i Einführung Performance Tuning

Verklemmungen. Überblick. Verklemmungsarten (deadlock, lifelock) und -szenarien...2. notwendige und hinreichende Bedingungen...12

13. Übung mit Musterlösung

Gegenseitiger Ausschluss 102

Betriebssystembau (BSB)

Monitore. Klicken bearbeiten

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen

Betriebssysteme 1 WS05/06. Musterlösung der Klausur

Klausur Nichtsequentielle Programmierung

Konfliktgraph. Satz und Definition

Übung zu Grundlagen der Betriebssysteme. 10. Übung

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung

Softwarelösungen: Versuch 4

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

2. Aufgabenblatt Threads

Anleitung zur Verwendung des Update-Tools für

Quick Reference Guide Schnellstart Anleitung

NTP Synchronisierung NTP Synchronizer

Registration of residence at Citizens Office (Bürgerbüro)

Anfragen werden als Ganzes erfüllt und erst nach Ablauf der Zeit der

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.

Vorl. 6: Single- und Multitasking

Klausur zur Vorlesung Grundlagen der Betriebssysteme

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

1. Hello, I m Francis Docherty. a. No, sorry. I m not. 2. I m sorry. What was your b. I don t think he

German translation: technology

Priorities (time independent and time dependent) Different service times of different classes at Type-1 nodes -

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Deadlocks und autonomes Fahren

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Praktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung. Betriebssysteme

Level 2 German, 2013

Franke & Bornberg award AachenMünchener private annuity insurance schemes top grades

Datenbanken und Informationssysteme

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

RTOS Einführung. Version: Datum: Autor: Werner Dichler

TracVision - Update der Tracking Frequenzen

Rev. Proc Information

Nicht-blockierende Synchronisation für Echtzeitsysteme

Darstellung und Anwendung der Assessmentergebnisse

Übungsblatt 6. Analysis 1, HS14

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Transkript:

Verklemmungen - Deadlocks Betriebsmittel Verklemmung Vogelstrauss Algorithmus Erkennung und Auflösung Vermeidung SS2001 Prof. H.D. Clausen - unisal 1 Kritische Betriebsmittel Beispiele Drucker Magnetbandgeräte (tape drives) Tabellen Prozesses benötigen Zugriff auf Betriebsmittel in einer vertretbaren Reihenfolge Angenommen Prozess_1 besitzt bereits Ressource A und verlangt Ressource B zur selben Zeit besitzt Prozess-2 bereits B und verlangt A beide sind blockiert und bleiben dies auf Dauer - Verklemmung SS2001 Prof. H.D. Clausen - unisal 2 1

Ressourcen (1) Verklemmeungen (deadlocks) entstehen wenn Prozesse exklusiven Zugriff auf Geräte oder Betriebsmittel besitzen allgemein spricht man von Ressourcen Entziehbare Ressourcen - (preemptable) können dem Prozess ohne schädliche Auswirkungen vom System entzogen werden Nicht-entziehbare Ressourcen - (nonpreemptable) führen zu einem Fehler, falls sie dem Prozess entzogen werden SS2001 Prof. H.D. Clausen - unisal 3 Ressourcen (2) Ablauf der Nutzung eines Ressource: Ánforderung (request the resource) Nutzung (use of the resource) Freigabe (release the resource) Anforderung kann abgelehnt werden: anfordernder Prozess wird blockiert oder Fehlerabbruch SS2001 Prof. H.D. Clausen - unisal 4 2

Verklemmungen - Deadlocks Formale Definition : Eine Menge von Prozessen ist verklemmt falls jeder Prozess auf ein Ereignis wartet, das nur von einem anderen Prozess dieser Menge ausgelöst werden kann. Üblicherweise wird solch ein Ereignis durch die Freigabe einea Betriebsmittels ausgelöst. Keiner der Prozessee kann weiterlaufen Betriebsmittel freigeben aus einem Wartezustand aufgeweckt werden SS2001 Prof. H.D. Clausen - unisal 5 Vier Bedingungen für Deadlock Gegenseitiger Ausschluss (mutual exclusion) jeder Ressource ist 1 Prozess zugeordnet oder verfügbar hold and wait Bedingung Prozesse die Ressourcen besitzen können weitere anfordern Kein Entzug - no preemption bereits vergebene Ressourcen können nicht entzogen werden Warteschleife - circular wait condition 2 oder mehr Prozesse warten in einer geschlossenen Kette jeder Prozess wartet auf Ressourcen die der nächste Prozess in der Kette bereits besitzt SS2001 Prof. H.D. Clausen - unisal 6 3

Deadlock Modeling Gerichteter Graph resource R assigned to process A process B is requesting/waiting for resource S process C and D are in deadlock over resources T and U SS2001 Prof. H.D. Clausen - unisal 7 Deadlock Modeling (2) Strategien zur Deadlock Behandlung einfach vergessen ---??? (Vogel Strauss) Entdeckung und Auflösung (recovery) dynamische Vermeidung (avoidance) sorgfältig geplante Ressourcen Zuteilung Verhütung (prevention) Sicherstellen, dass eine der vier Bedingungen nicht auftreten kann SS2001 Prof. H.D. Clausen - unisal 8 4

Deadlock Modeling (3) A B C Wie Deadlocks entstehen SS2001 Prof. H.D. Clausen - unisal 9 Deadlock Modeling (5) (o) (p) (q) Wie Deadlocks vermieden werden können SS2001 Prof. H.D. Clausen - unisal 10 5

Vogelstrauss Algorithmus Vorgeben es existiere kein Problem Vertretbare Strategie falls Deadlocks nur sehr sehr selten auftreten Kosten für die Verhinderung hoch Kosten für die Auflösung vertretbar UNIX und Windows wählen diese Strategie Abwägung (trade off) zwischen Bequemlichkeit Effizienz Korrektheit SS2001 Prof. H.D. Clausen - unisal 11 Entdeckung mittels Betriebsmittelgraph resource allocation graph (1) Jeweils eine Ressource eines Typs verfügbar Besitz und Anforderung von Ressourcen Ein Zyklus im Graph zeigt eine mögliche Verklemmung an SS2001 Prof. H.D. Clausen - unisal 12 6

Entdeckung mittels Ressourcegraph (2) Jeweils eine Ressource eines Typs verfügbar Datenstrukturen für Deadlock Erkennung SS2001 Prof. H.D. Clausen - unisal 13 Entdeckung mittels Ressourcegraph (3) Ein Beispiel für den deadlock detection Algorithmus SS2001 Prof. H.D. Clausen - unisal 14 7

Auflösung - Recovery (1) Durch Entzug (preemption) eine Ressource eines anderen Prozesses entziehen hängt von der Art des Betriebsmittels und der Natur des Prozesses ab Rollback Prozesse setzen regelmässig Wiederanlaufpunkte (checkpoints) diese gespeicherte Zustandsinformation wird verwendet um gegebenenfalls einen verklemmten Prozess wiederanlaufen zu lassen (restart) SS2001 Prof. H.D. Clausen - unisal 15 Recovery (2) Abbruch eines Prozesses grobe aber einfache Methode um eine Verklemmung aufzubrechen einer der verklemmten Prozesse wird abgebrochen die anderen Prozesses erhalten die angeforderten Betriebsmittel Auswahl eines geeigneten Prozesses für den Wiederanlauf SS2001 Prof. H.D. Clausen - unisal 16 8

Deadlock Avoidance Resource Trajectories Two process resource trajectories SS2001 Prof. H.D. Clausen - unisal 17 Deadlock Verhütung Attacking the Mutual Exclusion Condition Bestimmte Ressourcen (z.b. Drucker) können im Spooling betrieben werden nur der Drucker Daemon nutzt die Ressource dadurch ist die Möglichkeit eines Deadlocks für den Drucker eliminiert Nicht alle Geräte können so behandelt werden Prinzip: Betriebsmittel nur zuteilen wenn dies absolut notwendig ist achten, dass nur wenige Prozesse auf diese Ressourcen zugreifen SS2001 Prof. H.D. Clausen - unisal 18 9

Other Issues Two-Phase Locking Phase One process tries to lock all records it needs, one at a time if needed record found locked, start over (no real work done in phase one) If phase one succeeds, it starts second phase, performing updates releasing locks Note similarity to requesting all resources at once Algorithm works where programmer can arrange program can be stopped, restarted SS2001 Prof. H.D. Clausen - unisal 19 Betriebsmittelfreie Verklemmungen - Nonresource Deadlocks zwei Prozesse können sich verklemmen jeder wartet auf den jeweils anderen ein bestimmtes Ereignis auszulösen kann leich bei Verwendung von Semaphoren auftreten jeder Prozess muss ein p() auf zwei Semaphore ausführen (mutex und ein weiteres) falls dies in der falschen Reihenfolge geschieht, tritte ein Deadlock auf SS2001 Prof. H.D. Clausen - unisal 20 10

Verhungern - Starvation Algorithm to allocate a resource may be to give to shortest job first Works great for multiple short jobs in a system May cause long job to be postponed indefinitely even though not blocked Solution: First-come, first-serve policy SS2001 Prof. H.D. Clausen - unisal 21 11