Prozesstabelle

Die Prozesstabelle ist in der Informatik eine tabellarische Datenstruktur, die pro laufenden Prozess einen Eintrag enthält. Diesen Eintrag nennt man Prozesskontrollblock (Prozesskontext; englisch process control block bzw. task control block, kurz PCB bzw. TCB). Der Prozesskontrollblock beinhaltet Informationen über den Zustand des Prozesses, seinen Befehlszähler, CPU-Register, seinen Stackpointer sowie seine Speicherbelegung und den Zustand seiner geöffneten Dateien.[1] Weitere Inhalte im Datensatz sind Scheduling- und Verwaltungsinformationen sowie alle Informationen, welche abgespeichert werden müssen, wenn der Prozess vom Zustand "aktiv" in die Zustände "bereit" oder "blockiert" übergeht, um ein nahtloses Weiterlaufen nach der Unterbrechung zu garantieren.

Diese Unterbrechungen sind aus zwei Gründen erforderlich: Einerseits möchte der Benutzer ein hohes Maß an Parallelität. Andererseits ist die Anzahl der laufenden Programme (Prozesse) viel größer als die Anzahl verfügbarer Prozessoren (auch bei Mehrkern-Prozessoren). Die Prozesstabelle ist also eine vom Betriebssystem gepflegte Datenstruktur, um Laufzeit-Unterbrechungen bei Prozessen durchführen zu können.

Unter Linux werden Prozesskontrollblöcke durch den C-struct task_struct repräsentiert.[2]

Siehe auch

Einzelnachweise

  1. Abraham Silberschatz, Peter B. Galvin, Greg Gagne: Operating system concepts. 7. Auflage. John Wiley & Sons, Hoboken 2005, ISBN 0-471-69466-5, S. 83 (englisch).
  2. Abraham Silberschatz, Peter B. Galvin, Greg Gagne: Operating system concepts. 7. Auflage. John Wiley & Sons, Hoboken 2005, ISBN 0-471-69466-5, S. 86 (englisch).