3.2.12.1 Vier Bedingungen nach Coffman

[unmarkierte Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
 
Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Vier Bedingungen nach Coffman=
<loop_index id="5fa9788426ded">Coffman, 4 Bedingungen, Deadlock|Deadlock, Coffman</loop_index>
<p>
Eine grundlegende Arbeit über ''System Deadlocks'' veröffentlichten E.G. Coffman, Jr.; M.J. Elphick und A. Shoshani im Jahre 1971 in der Zeitschrift [http://dl.acm.org/citation.cfm?id=356588&dl=ACM&coll=DL&CFID=259872056&CFTOKEN=90437868 Computing Surveys, Vol. 3, No. 2]; <small>(hier ist ein [http://people.cs.umass.edu/~mcorner/courses/691J/papers/TS/coffman_deadlocks/coffman_deadlocks.pdf alternativer Link zu diesem Dokument])</small>.
</p>
<loop_index id="5fa9788426df8">Vier Bedingungen, Deadlock|Deadlock, Vier Bedingungen|4 Bedingungen, Deadlock|Deadlock, 4 Bedingungen</loop_index>
<p>
Sie beschreiben darin vier Bedingungen, welche - sobald sie allesamt zur gleichen Zeit eingetreten sind - einen Deadlock-Zustand verursacht haben:
</p>
<br />
<p>
# <loop_index id="5fa9788426e00">Mutual exclusion condition, Deadlock|Deadlock, Mutual exclusion condition</loop_index>''Mutual exclusion condition''<br />Eine Ressource steht einem Prozess nur exklusiv zur Verfügung, sie kann also nicht gleichzeitig von mehreren Prozessen belegt werden.<br /><br />
# <loop_index id="5fa9788426e07">Wait for condition, Deadlock|Deadlock, Wait for condition</loop_index>''Wait for condition''<br />Prozesse warten und behalten dabei die Kontrolle über bereits zugewiesene Ressourcen solange, bis sie alle Ressourcen zugesprochen bekommen haben, um schließlich ihre Arbeit fortführen zu können.<br /><br />
# <loop_index id="5fa9788426e0d">No preemption condition, Deadlock</loop_index><loop_index id="5fa978c606731">Deadlock, No preemption condition</loop_index>''No preemption condition''<br />Zugewiesene Ressourcen können einem Prozess nicht gewaltsam wieder entrissen werden.<br /><br />
# <loop_index id="5fa9788426e14">Circular wait condition, Deadlock</loop_index><loop_index id="5fa978845131c">Deadlock, Circular wait condition</loop_index>''Circular wait condition''<br />Es gibt eine zyklische Kette von Prozessen, die bereits eine oder mehrere Ressourcen zugewiesen bekommen haben, und die gleichzeitig auf weitere Ressourcen warten, welche bereits dem jeweils nächsten Prozess in der Kette zugesprochen wurden.
</p>
 
<br />
<p>
<loop_area type="important">
<p>
Wenn alle vier Bedingungen zur selben Zeit zutreffen, dann liegt ein Deadlock vor.
</p>
</loop_area>
</p>
 
<div class="autoit_do_not_print">
<br />
<hr />
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png]
</sub>
</div>

Aktuelle Version vom 10. November 2020, 14:51 Uhr

Eine grundlegende Arbeit über System Deadlocks veröffentlichten E.G. Coffman, Jr.; M.J. Elphick und A. Shoshani im Jahre 1971 in der Zeitschrift Computing Surveys, Vol. 3, No. 2; (hier ist ein alternativer Link zu diesem Dokument).

Sie beschreiben darin vier Bedingungen, welche - sobald sie allesamt zur gleichen Zeit eingetreten sind - einen Deadlock-Zustand verursacht haben:


  1. Mutual exclusion condition
    Eine Ressource steht einem Prozess nur exklusiv zur Verfügung, sie kann also nicht gleichzeitig von mehreren Prozessen belegt werden.

  2. Wait for condition
    Prozesse warten und behalten dabei die Kontrolle über bereits zugewiesene Ressourcen solange, bis sie alle Ressourcen zugesprochen bekommen haben, um schließlich ihre Arbeit fortführen zu können.

  3. No preemption condition
    Zugewiesene Ressourcen können einem Prozess nicht gewaltsam wieder entrissen werden.

  4. Circular wait condition
    Es gibt eine zyklische Kette von Prozessen, die bereits eine oder mehrere Ressourcen zugewiesen bekommen haben, und die gleichzeitig auf weitere Ressourcen warten, welche bereits dem jeweils nächsten Prozess in der Kette zugesprochen wurden.


Wichtig

Wenn alle vier Bedingungen zur selben Zeit zutreffen, dann liegt ein Deadlock vor.