[unmarkierte Version] | [unmarkierte Version] |
Zeile 5: | Zeile 5: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title=""> | <loop_task title="Deadlock"> | ||
<p> | <p> | ||
Erläutere: Was versteht man unter einem Deadlock? | Erläutere: Was versteht man unter einem Deadlock? | ||
Zeile 18: | Zeile 18: | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title=""> | <loop_task title=""> | ||
<p> | |||
Erläutern Sie anhand eines selbstgewählten Beispiels, wie ein Deadlock zwischen zwei (oder mehr) Prozessen entstehen kann. | |||
</p> | |||
</loop_task> | |||
</loop_area> | |||
</p> | |||
<br /> | |||
== Aufgabe 3 == | |||
<p> | |||
<loop_area type="task"> | |||
<loop_task title="Betriebsmittelgraph"> | |||
<p> | <p> | ||
Gegeben seien die Prozesse P1 bis P5 und die Ressourcen A bis G. Jede Ressource sei genau einmal vorhanden, sie kann auch nur exklusiv genutzt werden, d.h. von maximal einem Prozess zur Zeit. | Gegeben seien die Prozesse P1 bis P5 und die Ressourcen A bis G. Jede Ressource sei genau einmal vorhanden, sie kann auch nur exklusiv genutzt werden, d.h. von maximal einem Prozess zur Zeit. | ||
Zeile 42: | Zeile 54: | ||
</loop_area> | </loop_area> | ||
</p> | </p> | ||
<br /> | |||
== Aufgabe 4 == | |||
<p> | |||
<loop_area type="task"> | |||
<loop_task title="Bedingungen nach Coffman"> | |||
<p> | |||
In Zusammenhang mit Deadlocks wurden von Coffman et al. vier Bedingungen identifiziert, die allesamt eingetreten sein müssen, damit ein Deadlock entsteht. | |||
</p> | |||
<p> | |||
Nenne und erläutere diese vier Bedingungen in jeweils einem Satz! | |||
</p> | |||
</loop_task> | |||
</loop_area> | |||
</p> | |||
<br /> | |||
== Aufgabe 5 == | |||
<p> | |||
<loop_area type="task"> | |||
<loop_task title=""> | |||
<p> | |||
Gegeben sei das folgende "Programmstück", das eine Auszahlung von einem Konto prüft und bucht: | |||
</p> | |||
<p> | |||
(1) Lese Kontostand des zu belastenden Kontos.<br /> | |||
(2) Prüfe ob (Kontostand – Auszahlungsbetrag) < Limit.<br /> | |||
(3a) Falls ja: Gebe eine Fehlermeldung aus.<br /> | |||
(3b) Falls nein: Überschreibe den Kontostand mit (Kontostand – Auszahlungsbetrag). | |||
</p> | |||
<p> | |||
Erläutern Sie, warum mehrere Auszahlungen nicht beliebig parallel durchgeführt werden dürfen. Was könnte passieren? | |||
</p> | |||
<p> | |||
Erläutern Sie ferner wie das Programmstück abgesichert werden könnte. | |||
</p> | |||
</loop_task> | |||
</loop_area> | |||
</p> | |||
<div class="autoit_do_not_print"> | <div class="autoit_do_not_print"> |
Erläutere: Was versteht man unter einem Deadlock?
Erläutern Sie anhand eines selbstgewählten Beispiels, wie ein Deadlock zwischen zwei (oder mehr) Prozessen entstehen kann.
Gegeben seien die Prozesse P1 bis P5 und die Ressourcen A bis G. Jede Ressource sei genau einmal vorhanden, sie kann auch nur exklusiv genutzt werden, d.h. von maximal einem Prozess zur Zeit.
Aktuell besteht folgende Ressourcenzuteilung und -anforderung:
Zeichnen Sie den Betriebsmittelgraphen!
Woran können Sie am Graphen allgemein erkennen, ob ein Deadlock vorliegt?
Liegt bei der o.a. Ressourcenzuteilung und -anforderung ein Deadlock vor? Falls ja: Welche Prozesse sind daran beteiligt?
In Zusammenhang mit Deadlocks wurden von Coffman et al. vier Bedingungen identifiziert, die allesamt eingetreten sein müssen, damit ein Deadlock entsteht.
Nenne und erläutere diese vier Bedingungen in jeweils einem Satz!
Gegeben sei das folgende "Programmstück", das eine Auszahlung von einem Konto prüft und bucht:
(1) Lese Kontostand des zu belastenden Kontos.
(2) Prüfe ob (Kontostand – Auszahlungsbetrag) < Limit.
(3a) Falls ja: Gebe eine Fehlermeldung aus.
(3b) Falls nein: Überschreibe den Kontostand mit (Kontostand – Auszahlungsbetrag).
Erläutern Sie, warum mehrere Auszahlungen nicht beliebig parallel durchgeführt werden dürfen. Was könnte passieren?
Erläutern Sie ferner wie das Programmstück abgesichert werden könnte.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png