3.2.12.1 Vier Bedingungen nach Coffman

[gesichtete Version][gesichtete Version]
(LOOP Upgrade: loop_index and youtubehd)
(LOOP Upgrade: loop_index and youtubehd)
Zeile 13: Zeile 13:
# <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="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="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|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="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.
# <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>
</p>

Version vom 9. November 2020, 19:13 Uhr

Vier Bedingungen nach Coffman

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.