Zum Inhalt springen

Informatik · Klasse 12 · aktualisiert

Betriebsmittelzuteilungsgraph: Deadlocks erkennen

Du zeichnest Prozesse und Betriebsmittel als Graph, liest die Pfeile richtig und erkennst an Zyklen mögliche Deadlocks.

0 von 13 Aufgaben gelöst

Betriebsmittelzuteilungsgraph: Deadlocks erkennen

Kurz gesagt

Ein Betriebsmittelzuteilungsgraph (englisch RAG) ist ein gerichteter Graph aus Prozess- und Ressourcenknoten. Ressource → Prozess heißt „hält“, Prozess → Ressource heißt „wartet auf“. Ohne Zyklus kann kein Deadlock auftreten. Ein Zyklus zeigt einen möglichen Deadlock.

Zwei Programme warten aufeinander und beide bleiben stehen. Das nennt man Deadlock. Mit einem Graphen aus Knoten und Pfeilen siehst du auf einen Blick, wer was hält und wer worauf wartet. So findest du heraus, ob ein Deadlock überhaupt möglich ist.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Betriebsmittel (auch Ressourcen) sind Teile eines Computers, die Prozesse zur korrekten Ausführung brauchen, zum Beispiel Festplatte, Arbeitsspeicher oder Drucker. Der Graph hat zwei Sorten von Knoten: Prozessknoten und Ressourcenknoten. Dazu kommen Kanten, also Pfeile. Ein solcher Graph heißt auf Englisch Resource Allocation Graph, kurz RAG. In dieser Lektion nennen wir ihn Betriebsmittelzuteilungsgraph.

Es gibt zwei Arten von Kanten. Die eine Art sagt „hält“, die andere sagt „wartet auf“. Wie die Pfeile dafür zeigen, lernst du im nächsten Abschnitt. Zuerst zeichnest du nur die Situation auf: Jeder Prozess und jedes Betriebsmittel bekommt einen Knoten.

Zur Zeichenweise: In dieser Lektion zeichnen wir Prozesse als Kreise und Ressourcen als Quadrate. Das ist nur unsere Darstellungsregel. Manche Ressourcen erlauben mehr als einen Zugriff pro Zeiteinheit. Dann erstellst du für jeden Zugriff eine einzelne Ressource, die nur einen Zugriff pro Zeiteinheit erlaubt.

Definition

Betriebsmittelzuteilungsgraph (RAG)

Ein gerichteter Graph, der Ressourcen und Prozesse in Beziehung stellt. Jeder Knoten ist entweder ein Prozessknoten oder ein Ressourcenknoten. Er dient der Analyse von Deadlocks.

Beispiel: Bildschirm und Drucker

  1. 1Prozess P1 hat den Bildschirm B zugeteilt bekommen und braucht gleichzeitig den Drucker D.
  2. 2Der Drucker D ist dem Prozess P2 zugeteilt. P2 fordert wiederum den Bildschirm B.
  3. 3Knoten: P1, P2 (Prozesse) und B, D (Ressourcen).
  4. 4Kanten: B → P1 (P1 hält B), D → P2 (P2 hält D), P1 → D (P1 wartet auf D), P2 → B (P2 wartet auf B).

Teste dich

LeichtWofür steht in diesem Graphen ein Ressourcenknoten?
MittelProzess P1 hat den Bildschirm B zugeteilt bekommen. Welche Kante zeichnest du dafür?

Alles auf einen Blick

Betriebsmittelzuteilungsgraph

  • Knoten

    Es gibt Prozessknoten und Ressourcenknoten, die Kanten sind gerichtet

  • Hält

    Eine Kante von der Ressource zum Prozess bedeutet, dass der Prozess sie hält

  • Wartet

    Eine Kante vom Prozess zur Ressource bedeutet, dass er wartet, bis sie frei wird

  • Zyklus

    Ohne Zyklus kann kein Deadlock auftreten, ein Zyklus zeigt einen möglichen Deadlock

  • Reihenfolge

    Linear geordnetes Anfordern schließt die zirkuläre Wartesituation aus

Musteraufgabe · Schritt für Schritt

Drei Prozesse und drei Ressourcen auf Zyklen untersuchen (ausgedachtes Beispiel)

  1. 1Annahme: R1, R2 und R3 sind exklusive Ressourcen. Kanten: R1 → P1, R2 → P2, R3 → P3, P1 → R2, P2 → R3, P3 → R1.
  2. 2Deuten: P1 hält R1, P2 hält R2, P3 hält R3. P1 wartet auf R2, P2 wartet auf R3, P3 wartet auf R1.
  3. 3Wir folgen den Pfeilen ab P1: P1 → R2 → P2 → R3 → P3 → R1 → P1.
  4. 4Start und Ende sind P1, keine Kante kommt doppelt vor. Das ist ein Zyklus, also ist hier ein Deadlock möglich.
  5. 5Variante: Wir streichen die Kante P3 → R1. Von P3 führt dann keine Kante weg, der Weg schließt sich nirgends.
  6. 6Nun gibt es keinen Zyklus. Also kann in dieser Variante kein Deadlock auftreten.

Fehler finden

Prüfe die Aussagen zu einem Graphen mit Scanner S (ausgedachtes Beispiel) In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Eine Kante von einem Ressourcenknoten zu einem Prozessknoten bedeutet: Der Prozess die Ressource. Hat der Graph Zyklus, kann kein Deadlock auftreten. Die Betriebsmittel werden geordnet und nur in dieser Reihenfolge angefordert.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Betriebsmittelzuteilungsgraph

LeichtIm Graphen zeigt eine Kante vom Prozess P4 zum Drucker D. Was bedeutet das?
MittelWarum kann in einem Graphen ohne Zyklus kein Deadlock auftreten?
SchwerAusgedachtes Beispiel: Zwei Prozesse brauchen beide die exklusiven Ressourcen R1 und R2. Die Ordnung lautet R1 vor R2, und jeder fordert nur in dieser Reihenfolge an. Warum entsteht kein Kreis aus Warten?

Weiterlesen in Informatik