· 

Der Prozesskontrollblock (PCB)

1. Einführung

Welche Informationen werden vom Betriebssystem eigentlich über einen Prozess gespeichert und verwaltet? Auf diese Frage liefert der Prozesskontrollblock (kurz PCB für "Process Control Block") eine Antwort. Alle Prozesskontrollblöcke werden in der sogenannten Prozesstabelle organisiert. 


2. Daten im PCB

Der PCB eines Prozesses besteht aus den folgenden Informationen:

  • Prozess-ID Diese Information wird zur eindeutigen Identifikation eines Prozesses verwendet. Diese kann als Index genutzt werden, um in konstanter Zeit (O(1)) innerhalb der Prozesstabelle einen bestimmten Prozess zu finden.
  • Registerinhalte Diese müssen gesichert werden, um bei einem erneuten Ausführen auf der CPU während des Zustands Running den Prozesskontext wiederherzustellen und an dem Punkt weiterzumachen, wo man aufgehört hat.
  • Programmzähler Auch der Programmzähler wird benötigt, um den Punkt im Programm zu finden, an dem nach dem Wechsel des Prozesses in den Zustand Blocked oder Ready weitergemacht werden kann.
  • Prozesskontrollinformationen Da ein Prozess ggf. bestimmte Ressourcen belegt und für das Scheduling eine entsprechend hohe oder niedrige Priorität besitzt, müssen folgende Informationen bekannt sein:
    • Informationen über vom Prozess geöffnete Dateien
    • Priorität
    • Prozessstatus
    • Speicherbereich, in dem der Prozess abläuft
    • Hauptspeicherbelegung 
    • Informationen über die bereits auf der CPU verweilte Zeit

Daneben kann es noch weitere Informationen geben, die von der jeweiligen Betriebssystem-Implementierung abhängig sind. Die Summe aus PCB, Programm, Stack und dazugehörigen Daten eines Prozesses nennt man auch Prozessabbild.