Grundlagen der Prozessverwaltung in Betriebssystemen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 44,33 KB

1. Einführung

Ein Prozess ist ein laufendes Programm. Man kann einen Prozess als eine mit einem Programm verbundene Tätigkeit betrachten. Ein Programm ist eine Liste schriftlicher Anweisungen, die in einer Datei auf einem Datenträger (z. B. eine ausführbare Datei mit der Endung *.exe) gespeichert sind.

Wenn dieses Programm ausgeführt wird, wird es in den RAM geladen und die Anweisungen werden abgearbeitet. Dann haben wir eine Programm-Aktivität, also einen Prozess, der im Speicher geladen ist. In Lehrbüchern sprechen wir oft von Prozessen und Aufgaben (Tasks). Beispiel: Strg + Alt + Entf -> Task-Manager -> Prozesse.

Hintergrund: Der Prozess

Wenn mehr als ein Prozess gleichzeitig im System läuft, muss das Betriebssystem die erforderlichen Ressourcen (Speicherplatz, virtueller Speicher usw.) verhältnismäßig zuteilen. Das Betriebssystem steuert zusammen mit der CPU die Synchronisierung der Ressourcen in einer geeigneten Reihenfolge.

Der Prozesskontext und der BCP

Der Kontext oder die Datenstruktur eines Prozesses ist als die Informationsmenge definiert, die erforderlich ist, um seinen aktuellen Zustand vollständig anzugeben. Dies schließt Informationen ein, die gespeichert werden müssen, wenn ein Prozess die Kontrolle über den Prozessor verliert, und die wiederhergestellt werden müssen, wenn er den Prozessor erneut erhält.

Dieser Kontext ist für jeden Prozess einzigartig und wird im Process Control Block (BCP) gespeichert. Der BCP umfasst Informationen, die während der Laufzeit des Prozesses immer im Hauptspeicher vorhanden sein müssen:

  • Prozess-ID (PID): Eine eindeutige Nummer zur Identifikation.
  • Eltern-Prozess (PPID): Kennung des erzeugenden Prozesses.
  • Priorität: Steuert die Ausführungsreihenfolge durch den Scheduler.
  • Status: Aktueller Zustand (bereit, laufend, ausgesetzt).
  • Speicherverwaltung: Informationen über die Nutzung des RAM.
  • Ressourcen: Hardware- und Software-Ressourcen (Drucker, Dateien, etc.).

Image

Prozesszustände

Die fünf Zustände eines Prozessmodells sind:

  • Ausführung: Der Prozess läuft aktuell.
  • Bereit: Der Prozess ist bereit, wartet aber auf die Zuteilung durch den Scheduler.
  • Gesperrt: Der Prozess kann nicht laufen, da er auf ein Ereignis wartet (z. B. E/A-Operation).
  • Neu: Der Prozess wurde erstellt, aber noch nicht vom Betriebssystem in den Hauptspeicher geladen.
  • Abgeschlossen: Der Prozess wurde beendet (erfolgreich oder durch Fehler).

Zustandsübergänge

  • Erstellung: Ein neuer Prozess wird in die Warteschlange "Bereit" eingereiht.
  • Bereit zu Ausführung: Der Scheduler wählt den Prozess aus.
  • Ausführung zu Bereit: Der Prozess verlässt die CPU (z. B. Zeitablauf oder höhere Priorität eines anderen Prozesses).
  • Ausführung zu Warten: Der Prozess wartet freiwillig auf ein externes Ereignis.
  • Warten zu Bereit: Nach Abschluss des externen Ereignisses kehrt der Prozess in die Warteschlange "Bereit" zurück.
  • Kündigung: Der Prozess beendet seine letzte Anweisung.

Process States

Neu- und beendete Zustände sind für das Prozessmanagement nützlich. In diesem Modell haben sowohl gesperrte als auch bereite Prozesse eigene Warteschlangen.

Image

Entstehungsprozess

Bei der Erstellung eines Prozesses wird ein BCP angelegt, eine PID vergeben, Ressourcen zugewiesen und der Prozess in den virtuellen Speicher geladen. Sobald alle Voraussetzungen erfüllt sind, wird der Status auf "Bereit" gesetzt.

Änderung des Hintergrunds (Context Switch)

In einem Multitasking-System findet ein Context Switch statt, wenn ein Prozess Platz für einen anderen macht. Dies geschieht in zwei Schritten:

  1. Scheduler: Auswahl des nächsten Prozesses.
  2. Dispatcher: Durchführung des eigentlichen Kontextwechsels.

Der Scheduler entscheidet basierend auf Strategien wie FCFS (First-Come, First-Served) oder Round Robin (Zeit-Scheiben-Verfahren), welcher Prozess als Nächstes an der Reihe ist. Der Dispatcher ist anschließend für das Sichern des alten und das Laden des neuen Prozesskontexts verantwortlich.

Verwandte Einträge: