2.0 KiB
2.0 KiB
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
- Es gibt blockierte Prozesse
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
- new (new)
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
- Zustand: suspendiert (suspended)
7-Zustands-Modell
Zustands-Modell von Linux
- ähnlich wie 7-Zustands-Modell
- Zustand rechnend:
- benutzer rechnend (user running)
- Prozesse im Benutzermodus
- kernel rechnend (kernel running)
- Prozesse im Kernel-Modus
- benutzer rechnend (user running)
- Zustand beendet (exit) = Zombie
- ist fertig abgearbeitet
- Eintrag in der Prozesstabelle existiert noch bis Elternprozess den Rückgabewert abgefragt hat#