update
This commit is contained in:
65
Writerside/topics/02/BS/05_prozesszustaende.md
Normal file
65
Writerside/topics/02/BS/05_prozesszustaende.md
Normal file
@ -0,0 +1,65 @@
|
||||
# Prozesszustände
|
||||
- Bereit (Ready)
|
||||
- Laufend (Running)
|
||||
- Blockiert (Blocked)
|
||||
- Beendet (Terminated)
|
||||
|
||||
## 2-Zustands-Modell
|
||||

|
||||
|
||||
Prozesse, die untätig werden, werden in einer Warteschlange gespeichert
|
||||
- Wird nach Priorität / Wartezeit sortiert
|
||||
|
||||

|
||||
|
||||
#### Pro
|
||||
- Einfach realisierbar
|
||||
|
||||
#### Contra
|
||||
- Annahme, dass Prozesse jederzeit zur Ausführung bereit sind
|
||||
- Es gibt blockierte Prozesse
|
||||
- Wartet auf Ein-/Ausgabe
|
||||
- Wartet auf Ergebnis eines anderen Prozesses
|
||||
- Wartet auf Reaktion eines Benutzers
|
||||
|
||||
## 3-Zustands-Modell
|
||||
### Ereignisbezogene Warteschlangen
|
||||

|
||||
- Für jedes Ereignis, auf welches ein Prozess wartet, gibt es eine Warteschlange
|
||||
- Tritt das Ereignis ein, werden alle Prozesse der WS in die WS mit den *ready* Prozessen überführt
|
||||
|
||||

|
||||
|
||||
## 5-Zustands-Modell
|
||||
Anzahl der ausführbaren Prozesse *limitieren*, um Speicher zu sparen
|
||||
- Zwei weitere Zustände:
|
||||
- **new (new)**
|
||||
- Prozesse, deren PCB das Betriebssystem bereits erzeugt hat, aber noch nicht in der Warteschlange sind
|
||||
- **beendet (exit)**
|
||||
- Abgearbeitete oder abgebrochene Prozesse, deren PCB und Eintrag noch nicht aus der Prozesstabelle entfernt wurden
|
||||
|
||||

|
||||
|
||||
## 6-Zustands-Modell
|
||||
Falls nicht genügend physischer Hauptspeicher für alle Prozesse:
|
||||
- **Auslagerungsspeicher (Swap)**
|
||||
- Zustand: **suspendiert (suspended)**
|
||||
- dadurch steht den Prozessen in den Zuständen _rechnend_ und _bereit_ mehr Hauptspeicher zur Verfügung
|
||||
|
||||

|
||||
|
||||
## 7-Zustands-Modell
|
||||

|
||||
|
||||
## Zustands-Modell von Linux
|
||||
- ähnlich wie [7-Zustands-Modell](#7-zustands-modell)
|
||||
- Zustand _rechnend_:
|
||||
- **benutzer rechnend (user running)**
|
||||
- Prozesse im Benutzermodus
|
||||
- **kernel rechnend (kernel running)**
|
||||
- Prozesse im Kernel-Modus
|
||||
- Zustand _beendet (exit)_ = _Zombie_
|
||||
- ist fertig abgearbeitet
|
||||
- Eintrag in der Prozesstabelle existiert noch bis Elternprozess den Rückgabewert abgefragt hat#
|
||||
|
||||

|
Reference in New Issue
Block a user