3.2.12 Deadlocks

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 37: Zeile 37:
<p>
<p>
Das Thema Deadlocks wird u.a. behandelt bei:
Das Thema Deadlocks wird u.a. behandelt bei:
* <cite>Glatz+2010</cite>, Kapitel 4.6
* <cite>Strelen+2012</cite>, Kapitel 5
* <cite>Tanenbaum+2009</cite>, Kapitel 6
* <cite>Tanenbaum+2009</cite>, Kapitel 6
</p>
</p>


<br />
==== Aufgabe 1 ====
<p>
<loop_area type="task">
<loop_task title="Deadlock-Philosophen">
<p>
<cite>Mandl+2013</cite> geht am Ende von Kapitel 6.2.2 auf das Philosophenproblem und eine dabei bestehende Deadlock-Gefahr ein.
</p>
<p>
Erläutere:
* Unter welcher Bedingung tritt bei den speisenden Philosophen ein Deadlock-Zustand ein?
* Welche Rolle spielt eine [[TSL-Befehl#Definition:_Atomare_Aktion|atomare Aktion]] beim Philosophenproblem?
</p>
</loop_task>
</loop_area>
</p>
<br />
==== Aufgabe 2 ====
<p>
{{#index:Betriebsmittelgraph|Belegungs-Anforderungs-Graph|Zyklus im Betriebsmittelgraph|Konstruktion Betriebsmittelgraph}}
<loop_area type="task">
<loop_task title="Deadlocks erkennen mit Hilfe eines Betriebsmittelgraphs">
<p>
Die Universität Oldenburg stellt ein [http://olli.informatik.uni-oldenburg.de/Deadlock/Start.html Tutorial Deadlock-Algorithmen] bereit, bei dem u.a. auf die Erkennung eines Deadlock-Zustands eingegangen wird. Insbesondere kann die Erkennung mit Hilfe zweier Schritte erfolgen:
* Schritt 1: [http://olli.informatik.uni-oldenburg.de/Deadlock/Html/Erkennung1_Aufbau.html Konstruktion eines Betriebsmittelgraphen]
* Schritt 2: [http://olli.informatik.uni-oldenburg.de/Deadlock/Html/Erkennung1_Zyklus.html Überprüfung eines Betriebsmittelgraphen auf Zyklen]
</p>
<p>
Mach dich mit diesem Tutorial vertraut!
</p>
<p>
<small>Ein ''Betriebsmittelgraph'' wird in gängiger Literatur alternativ auch ''Belegungs-Anforderungs-Graph'' genannt.
</small></p>
</loop_task>
</loop_area>
</p>


<br />
<br />

Version vom 8. November 2013, 17:23 Uhr

{{#index:Deadlock|Verklemmung|Deadlock-Zustand|Zustand, Deadlock}} Zunächst die Definition:


Definition: Deadlock-Zustand

Definition

Eine Menge von Prozessen befindet sich nach Tanenbaum 2009 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.


In der realen Welt gibt es eine schöne Analogie zum Deadlock-Zustand von Prozessen:

Aus der Praxis

Wenn du dir vorstellen kannst, dass ein Auto im Strassenverkehr einen Prozess repräsentiert, dann zeigt dieses Bild einen Deadlock-Zustand einer Menge von Autos. (Hier gibt es eine kleine Sammlung mit ähnlichen Fotos.)

In Anbetracht dieser Bilder kannst du überlegen, ob die Menge der Prozesszustände noch um einen ergänzt werden sollte. Welcher Zustand ist damit gemeint?


Das Thema Deadlocks wird u.a. behandelt bei:


Aufgabe 1

Aufgabe

Mandl 2013 geht am Ende von Kapitel 6.2.2 auf das Philosophenproblem und eine dabei bestehende Deadlock-Gefahr ein.

Erläutere:

  • Unter welcher Bedingung tritt bei den speisenden Philosophen ein Deadlock-Zustand ein?
  • Welche Rolle spielt eine atomare Aktion beim Philosophenproblem?


Aufgabe 2

{{#index:Betriebsmittelgraph|Belegungs-Anforderungs-Graph|Zyklus im Betriebsmittelgraph|Konstruktion Betriebsmittelgraph}}

Aufgabe

Die Universität Oldenburg stellt ein Tutorial Deadlock-Algorithmen bereit, bei dem u.a. auf die Erkennung eines Deadlock-Zustands eingegangen wird. Insbesondere kann die Erkennung mit Hilfe zweier Schritte erfolgen:

Mach dich mit diesem Tutorial vertraut!

Ein Betriebsmittelgraph wird in gängiger Literatur alternativ auch Belegungs-Anforderungs-Graph genannt.



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png