home *** CD-ROM | disk | FTP | other *** search
- 30
- BS___4
- Diplomprüfung Informatik (Teil 4 von 7)
- Teilprüfung Betriebssysteme
- Thema: Deadlocks
- zusammengestellt von Andreas Smoor
-
- Dieses Programm ist eine Shareware-Version des
-
- educard Tutoren-Systems. Das Erstellen neuer Lernprogramme
-
- oder das Verändern des bestehenden ist nur mit dem
-
- educard Autoren-System möglich (siehe "Educard - Information").
-
- März
- 1992
- Geben Sie Beispiele sowohl
- Hardware-Betriebsmittel:
-
- Drucker, Bandgeräte, CPU,
- für Hardware- als auch für
- Terminal, Speicher, ...
-
-
- Software-Betriebsmittel.
- Software-Betriebsmittel:
-
- Programme, Dateien, Daten,
-
- Prozesse, Routinen, ...
- 2
-
-
- Betriebsmittel II
- 1
- 1
- Betriebsmittel - 1
-
- 41100246
- Betriebsmittel werden
- a) reusable:
- unterschieden in
- CPU, Speicher, Dateien
-
-
- a) wiederverwendbare und
- b) consumable:
- b) nicht wiederverwendbare.
- Nachrichten, Rechenzeit
-
-
- Geben Sie Beispiele !
-
- 2
-
-
- Betriebsmittel II
- 1
- 1
- Betriebsmittel - 2
-
- 41200247
- Die Zuteilung von Betriebs-
- Betriebsmittel
- mitteln wird unterschieden in
-
-
- a) preemptibel:
- a) entziehbare und
- CPU, Arbeitsspeicher
- b) nicht-entziehbare
-
-
- b) non preemptibel:
- Geben Sie Beispiele !
- Drucker, Bandgeräte
- 2
-
-
- Betriebsmittel II
- 1
- 1
- Betriebsmittel - 3
-
- 41300248
- Der Zugriff auf Betriebs-
- a) exclusive controllable:
- mittel wird unterschieden in
- Drucker, Bandgeräte,
-
- Schreibzugriff auf Datei
- a) exklusiv benutzbar
- b) common controllable:
- b) gemeinsam benutzbar.
- Lesezugriff auf Dateien,
-
- Programmcode, Compiler in
- Geben Sie Beispiele !
- reentrant geschrieben
- 2
-
-
- Betriebsmittel II
- 1
- 1
- Betriebsmittel - 4
-
- 41400249
- Ein Prozeßsystem paralleler
- ...unendlich lange blockiert
- Prozesse ist im
- ist, weil Prozesse sich
-
- gegenseitig blockieren, indem
- Deadlock,
- sie selbst exklusive, nicht-
-
- entziehbare Betriebsmittel
- wenn der Prozeßfortschritt...
- belegen, die ein anderer
- Ergänzen Sie die Definition !
- Prozeß benötigt.
- 2
-
-
- Deadlock II
- 1
- 1
- Deadlock, Definition
-
- 42100250
- Nennen Sie die vier
- Bedingungen für Deadlock:
-
-
- Bedingungen, die für das
- 1. Gegenseitiger Ausschluß
-
- 2. Nicht-Unterbrechbarkeit
- Entstehen eines Deadlocks
- 3. Warten auf weitere
-
- Betriebsmittel
- notwendig sind.
- 4. Geschlossene Kette
- 2
-
-
- Deadlock II
- 1
- 1
- Deadlock, Bedingungen
-
- 42200251
- Eine notwendige Bedingung
- Gegenseitiger Ausschluß:
- für einen Deadlock besteht
-
- im gegenseitigen Ausschluß
- Die angeforderten und
- (mutual exclusion).
- vergebenen Betriebsmittel
-
- sind nur exklusiv verwendbar.
- Was ist damit gemeint ?
-
-
-
- 2
-
-
- Deadlock II
- 1
- 1
- gegenseitiger Ausschluß
-
- 42200252
- Eine notwendige Bedingung
- Nicht-Unterbrechbarkeit:
- für einen Deadlock besteht in
-
- der Nicht-Unterbrechbarkeit
- Die Betriebsmittel können
- (non preemption).
- einem Prozeß nicht entzogen
-
- werden. Der Prozeß muß sie
- Was ist damit gemeint ?
- von sich aus freigeben.
-
-
- 2
-
-
- Deadlock II
- 1
- 1
- Nicht-Unterbrechbarkeit
-
- 42200253
- Eine notwendige Bedingung
- Die Prozesse belegen die
- für einen Deadlock besteht im
- bereits erhaltenen
- Warten auf weitere Betriebs-
- exklusiven Betriebsmittel,
- mittel (resource waiting).
- während sie auf die Zuteilung
-
- noch weiterer Betriebsmittel
- Sagen Sie etwas dazu.
- warten.
-
-
- 2
-
-
- Deadlock II
- 1
- 1
- resource waiting
-
- 42200254
- Eine notwendige Bedingung
- Die Prozesse warten aufein-
- für einen Deadlock besteht
- ander, das heißt jeder Prozeß
- in einer geschlossenen Kette
- der Kette belegt bereits
- (chains of tasks).
- Betriebsmittel, die von einem
-
- anderen Prozeß der Kette
- Was besagt diese Bedingung ?
- benötigt werden.
-
-
- 2
-
-
- Deadlock II
- 1
- 1
- chains of tasks
-
- 42200255
- Nennen Sie drei Verfahren
- Umgang mit Deadlocks:
-
- - Verhindern (prevention),
- zur Behandlung des
- - Vermeiden (avoidance) oder
-
- - Erkennen und Beheben
- Deadlock-Problems !
- (detection and recovery)
-
-
-
- Merkwort : "dead PADRe"
- 2
-
-
- Deadlock II
- 1
- 1
- Deadlock-Behandlung
-
- 42200256
- Das Verhindern von Deadlocks
- Deadlockverhinderung durch:
- (prevention) kann durch
- - streng sequentieller Ablauf
- verschiedene Methoden
- - alle benötigten Betriebs-
- erreicht werden.
- mittel zugleich anfordern
-
- - nachfordernde Prozesse
- Nennen Sie vier Methoden um
- müssen BM freigeben
- Deadlocks zu verhindern.
- - BM hierarchisch anordnen
- 2
-
-
- Deadlock II
- 1
- 1
- prevention
-
- 42200257
- Es gibt drei Forderungen
- 1. MAXi ≤ m
- im Zusammenhang mit Deadlocks
- 2. DEVi ≤ MAXi
- damit ein Zustand
- 3. REQ ≤ FREE
-
-
- realisierbar
- Eine genauere Erläuterung
-
- durch Drücken der Taste 'i'.
- ist. Welche ?
-
- 2
-
-
- Deadlock-Vermeidung
- 1
- 1
- Deadlock, Vermeidung - 1
-
- 42200258
- Geben Sie ein Beispiel für
- m = (4)
- den Fall, daß ein Zustand
- MAX = (4, 4, 2)
- zwar realisierbar ist, aber
- DEV = (1, 1, 1) -> (2, 1, 1)
- nicht sicher, also Deadlock-
-
- gefahr besteht.
- Falls die Prozesse nun ihre
-
- Maximalanforderungen stellen,
-
- tritt der Deadlock ein.
- 2
-
-
- Deadlock-Vermeidung
- 1
- 1
- Deadlock, Vermeidung - 2
-
- 42200259
- Ein Prozeßsystem P ist in
- a) |P| ≤ 1
- einem sicheren Zustand Z,
- b) Zu jedem Zeitpunkt gibt es
- wenn eine von zwei
- einen Prozeß, der seine
- Bedingungen erfüllt ist.
- Maximalforderungen erfüllt
-
- bekommen kann, also
- Um welche Bedingungen handelt
- beendet werden kann.
- es sich ?
-
- 2
-
-
- Deadlock-Vermeidung
- 1
- 1
- sicherer Zustand
-
- 42200260
- Um Deadlockfreiheit zu
- Zu jeder Zeit muß es
- gewährleisten muß sich ein
- mindestens einen Prozeß geben
- System jederzeit in einem
- der beendet werden kann und
- sicheren Zustand befinden.
- seine Betriebsmittel frei-
- Wie lautet in diesem Zusam-
- gibt. Danach muß es dann
- menhang die
- wieder einen Prozeß geben,
- "Habermann'sche Forderung" ?
- der beendet werden kann, usw.
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Habermann'sche Forderung - 1
-
- 42200261
- Drücken Sie die
- NEEDk1 ≤ FREE
-
- NEEDk2 ≤ FREE + DEVk1
- Habermann'sche Forderung mit
- :
-
- :
- Hilfe von NEED, FREE und DEV
- NEEDkj ≤ FREE + S (k-1)
-
- mit S (k-1) =
- aus !
- DEVk1 + ... + DEVk(j-1)
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Habermann'sche Forderung - 2
-
- 42200262
- Gegeben seien m Betriebs-
- 1 ≤ MAXi ≤ m drückt aus,
- mittel des gleichen Typs.
- daß kein Prozeß mehr
- Eine Bedingung für die
- Betriebsmittel anfordern
- Realisierbarkeit eines
- kann, als im System über-
- Zustandes ist dann
- haupt zur Verfügung stehen.
- 1 ≤ MAXi ≤ m
-
- Was heißt das ?
-
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Realisierbarkeit - 1
-
- 42200263
- Eine Voraussetzung für die
- 0 ≤ DEVi ≤ MAXi drückt aus,
- Realisierbarkeit eines
- daß keinem Prozeß mehr
- Zustandes ist
- Betriebsmittel zugewiesen
-
- werden dürfen, als er zu
- 0 ≤ DEVi ≤ MAXi
- Beginn als Maximalanforderung
-
- angegeben hatte.
- Was bedeutet das ?
-
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Realisierbarkeit - 2
-
- 42200264
- Eine Voraussetzung für die
- Das System kann nicht mehr
- Realisierbarkeit eines
-
- Zustandes ist:
- Betriebsmittel vergeben, als
- n
-
- S (n) = Σ DEVi ≤ m
- ihm überhaupt zur Verfügung
- i=1
-
- Was heißt das ?
- stehen.
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Realisierbarkeit - 3
-
- 42200265
- Sei G der größte zulässige
- Deadlockgefährdeter Bereich:
- Maximalwert für ein MAXi.
-
- Dann muß die Zahl der BM m im
- [G .. n * (G - 1)]
- Bereich von [G..n*G] liegen.
-
- Innerhalb dieses Bereichs
- Deadlockfreier Bereich:
- gibt es eine Grenze für
-
- Deadlockfreiheit. Wo ?
- [n * (G - 1) + 1 .. n * G]
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Betriebsmittel, Anzahl
-
- 42200266
- Wie lautet das Habermann'sche
- Ein Zustand ist dann und nur
-
- dann deadlockfrei, wenn für
- Theorem für die Deadlock-
- alle k aus [0..m] gilt:
-
-
- freiheit eines Systems ?
- Uk ≤ m - k
-
-
-
- Genaueres mit Taste 'i'.
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Habermann'sches Theorem - 1
-
- 42200267
- Leiten Sie das
- Uk + Lk = m - FREE ==>
-
-
- Habermann'sche Theorem
- Uk = m - FREE - Lk
-
-
- für alle k: Uk ≤ m - k
- Lk ≥ k - FREE ==>
-
-
- ab.
- Uk ≤ m - k
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Habermann'sches Theorem - 2
-
- 42200268
- Wie läßt sich ein System-
- Tabelle führen mit Vektor U
- zustand im Prinzip auf
- für jeden Prozeß Pi.
- Deadlock-Freiheit untersuchen
- U enthält die aktuellen Uk's
- falls die Zahl der Betriebs-
- der Pi's. Zu jedem Zeitpunkt
- mitteltypen T auf 1
- muß gelten:
- beschränkt ist.
- für alle k: Uk ≤ m - k
-
- Aufwand: O (max (MAXi))
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Deadlockuntersuchung - 1
-
- 42200269
- Wie überprüft man einen
- Immer wieder alle Prozesse
- Systemzustand auf Deadlock-
- durchgehen. Wenn einer
- Freiheit, wenn die Zahl der
- beendet werden kann, seine BM
- Betriebsmittel-Typen T
- freigeben und ihn streichen.
- größer als 1 ist ?
- Am Ende darf kein Prozeß mehr
-
- übrigbleiben.
-
-
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Deadlockuntersuchung - 3
-
- 42200271
- Wie groß ist der Aufwand für
- Aufwand im günstigsten Fall:
- die Untersuchung eines
-
- Systemzustandes auf Deadlock-
- O (n * T)
- freiheit im günstigsten und
-
- im ungünstigsten Fall ?
- Ungünstigster Fall:
- Zahl der Betriebsmitteltypen
-
- T sei > 1.
- O (T * n²)
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Deadlockuntersuchung - 4
-
- 42200272
- Wie kann man den Algorithmus
- Einführen von k_min.
- zur Untersuchung auf
- k_min ist der kleinste Wert
- Deadlockfreiheit bei T = 1
- von k mit Uk = m - k.
- noch verbessern ?
- Untersucht werden brauchen
-
- nun nur die Werte > k_min.
-
-
-
-
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Deadlockuntersuchung - 2
-
- 42200270
- Wodurch unterscheidet sich
- Das Erkennen von Deadlocks
- das Erkennen von Deadlocks
- unterscheidet sich:
- bei den zwei prinzipiellen
- a) durch den Zeitpunkt der
- Vorgehensweisen "Erkennen und
- Untersuchung und
- Beseitigen" und "Vermeiden"
- b) beim Vermeiden muß man die
- von Deadlocks ?
- Maximalanforderungen der
-
- Prozesse kennen.
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Erkennen und Beseitigen - 1
-
- 42200273
- Bei den Algorithmen zum
- NEED wird durch REQ
- Erkennen und Beseitigen von
-
- Deadlocks wird im Vergleich
- und restliche Anforderungen
- zu denen beim Vermeiden
-
- "NEED" durch ... und
- wird durch aktuelle
- "restliche Anforderung" durch
-
- ... ersetzt ?
- Anforderungen ersetzt.
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Erkennen und Beseitigen - 2
-
- 42200274
- Welches sind die Vor- und
- "Erkennen + Beseitigen" von
- Nachteile des
- Deadlocks ist weniger auf-
- "Erkennen und Beseitigen"
- wendig, aber es wird Schaden
- im Vergleich zum "Vermeiden"
- angerichtet beim Beseitigen
- von Deadlocks ?
- der entstehenden Deadlocks.
-
-
-
-
- 2
-
-
- Deadlock-Algorithmen
- 1
- 1
- Erkennen und Beseitigen - 3
-
- 42200275
-