zusammenfassungen/Writerside/topics/05_prozesszustaende.md
David Schirrmeister 1ec1d18863 update
2024-04-29 11:42:21 +02:00

2.0 KiB

Prozesszustände

  • Bereit (Ready)
  • Laufend (Running)
  • Blockiert (Blocked)
  • Beendet (Terminated)

2-Zustands-Modell

image.png

Prozesse, die untätig werden, werden in einer Warteschlange gespeichert

  • Wird nach Priorität / Wartezeit sortiert
    image_1.png

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

image_3.png

  • 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

image_2.png

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

image_4.png

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

image_5.png

7-Zustands-Modell

image_6.png

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
  • Zustand beendet (exit) = Zombie
    • ist fertig abgearbeitet
    • Eintrag in der Prozesstabelle existiert noch bis Elternprozess den Rückgabewert abgefragt hat#

image_7.png