update
This commit is contained in:
parent
f6531d7b5d
commit
f85da5b806
BIN
Writerside/images/image_84.png
Normal file
BIN
Writerside/images/image_84.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
BIN
Writerside/images/image_85.png
Normal file
BIN
Writerside/images/image_85.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
Writerside/images/image_86.png
Normal file
BIN
Writerside/images/image_86.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.0 KiB |
@ -110,3 +110,40 @@ Befehle mit [POSIX API](06_prozessstruktur.md#posix-api)
|
|||||||
|
|
||||||
|
|
||||||
## Deadlock
|
## Deadlock
|
||||||
|
(Stillstand / Blockade) ist eine Situation, bei der zwei oder mehr Prozesse auf unbestimmte Weise blockiert sind, weil sie auf die Freigabe von Ressourcen warten
|
||||||
|
|
||||||
|
### Entstehungsbedingungen von Deadlocks
|
||||||
|
- **Gegenseitiger Ausschluss**
|
||||||
|
- Mindestens eine Ressource muss exklusiv für immer nur einen Prozess sein
|
||||||
|
- **Warte-Zustand**
|
||||||
|
- Prozess hält eine Ressource und wartet bis er die nächste kriegt
|
||||||
|
- **Nicht-Preemption**
|
||||||
|
- Ressourcen können nicht zwangsweise (_sondern nur freiwillig_) von Prozess/Thread entzogen werden
|
||||||
|
- **Zyklus in den Wartebeziehungen**
|
||||||
|
- Kette von Prozessen/Threads
|
||||||
|
- P1 wartet auf Ressource von P2, P2 auf P3, ..., PN auf P1
|
||||||
|
|
||||||
|
### Erkennung von Deadlocks
|
||||||
|
_Betriebsmittelgraf_ (Ressource Allocation Graph)
|
||||||
|
- Modelliert _Zuteilung und Freigabe_ von Ressourcen zwischen Prozessen
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Falls es mehrere Instanzen einer Ressource gibt
|
||||||
|
- **matrizen-basiertes Verfahren**
|
||||||
|
- Ressourcenvektor
|
||||||
|
- Belegungsmatrix
|
||||||
|
- Anforderungsmatrix
|
||||||
|
- Ressourcenrestvektor
|
||||||
|
|
||||||
|
#### Beispiel Erkennung von Deadlocks
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
### Livelock
|
||||||
|
- Form der Blockierung von 2 oder mehr Prozessen, welche aber ständig zwischen mehreren Zuständen wechseln und ihnen nicht entkommen können
|
||||||
|
- Bspw.:
|
||||||
|
- 2 Personen kommen sich auf dem Gang entgegen und weichen die ganze Zeit in die gleiche Richtung aus
|
||||||
|
- Deadlock:
|
||||||
|
- Personen stehen gegenüber und warten bis der andere beiseite geht, was nicht passiert
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user