Prozesssteuerungsblock

A Prozesssteuerungsblock (PCB) ist eine Datenstruktur, die von Computerbetriebssystemen verwendet wird, um alle Informationen zu einem Prozess zu speichern. Es ist auch als Prozessdeskriptor bekannt. Wenn ein Prozess erstellt wird (initialisiert oder installiert), erstellt das Betriebssystem einen entsprechenden Prozesssteuerungsblock.

Dies gibt den Prozesszustand an, d. H. Neu, bereit, laufend, warten oder beendet.

Rolle

Die Rolle der PCBs ist zentral in Prozessmanagement: Sie werden von den meisten Versorgungsunternehmen auf sie zugegriffen und/oder geändert, insbesondere von solchen, die mit Planung und Ressourcenverwaltung beteiligt sind.

Struktur

Im Multitasking Betriebssysteme, die PCB speichert Daten, die für die korrekte und effiziente Prozessmanagement erforderlich sind.[1] Obwohl die Details dieser Strukturen systemabhängig sind, fallen gemeinsame Elemente in drei Hauptkategorien:

  • Prozessidentifizierung
  • Prozesszustand
  • Prozesssteuerung

Für jede relevante Entität gibt es für jede relevante Entität, wie die Beschreibung von Speicher, E/A -Geräten, Dateien und Prozessen.

Speichertabellen enthalten beispielsweise Informationen über die Zuweisung des Haupt- und Sekundär- (virtuellen) Speicherspeichers für jeden Prozess, Autorisierungsattribute für den Zugriff auf Speicherbereiche, die zwischen verschiedenen Prozessen freigegeben werden. seine Zuordnung zu einem Prozess, den Status von E/A -Operationen, der Ort der für sie verwendeten Speicherpuffer usw.

Prozessidentifikationsdaten Fügen Sie eine eindeutige Kennung für den Prozess (fast ausnahmslos eine Ganzzahl) und in einem Multiuser-Multitasking-System Daten wie die Kennung des übergeordneten Prozesss, der Benutzerkennung, der Benutzergruppenkennung usw. hinzu. Die Prozess-ID ist insbesondere seitdem relevant oft verwendet, um die oben definierten Tabellen zu verweisen, z. zeigt, welcher Prozess verwendet wird, welche E/A -Geräte oder Speicherbereiche.

Prozesszustandsdaten Definieren Sie den Status eines Prozesses, wenn er suspendiert wird, sodass das Betriebssystem später neu gestartet wird. Dies schließt immer den Inhalt der allgemeinen CPU-Register, des CPU-Prozessstatusworts, der Stapel- und Rahmenzeiger usw. ein KontextschalterDer Laufprozess wird gestoppt und ein anderer Prozess wird ausgeführt. Der Kernel muss die Ausführung des laufenden Prozesses stoppen, die Werte in Hardware -Registern in die PCB kopieren und die Hardware -Register mit den Werten aus der PCB des neuen Prozesses aktualisieren.

Prozesssteuerungsinformationen wird vom Betriebssystem verwendet, um den Prozess selbst zu verwalten. Das beinhaltet:

  • Prozessplanungsstatus - der Zustand des Prozesses in Bezug auf "referenz", "suspendiert" usw. und andere Planungsinformationen, wie z. Es wurde suspendiert. Im Falle eines suspendierten Prozesss müssen für das Ereignis, auf das der Prozess wartet.
  • Prozessstrukturierungsinformationen - Die Kinder -IDs des Prozesses oder die IDs anderer Prozesse im Zusammenhang mit dem aktuellen, auf eine funktionale Weise, die als Warteschlange, Ring oder andere Datenstrukturen dargestellt werden können;
  • Interprozess -Kommunikationsinformationen - Flaggen, Signale und Nachrichten, die mit der Kommunikation zwischen unabhängigen Prozessen verbunden sind;
  • Prozessberechtigungen - zulässiger Zugriff auf Systemressourcen zulässig/unzulässig;
  • Prozessstatus - neu, bereit, rennen, warten, tot;
  • Prozessnummer (PID) - Eindeutige Identifikationsnummer für jeden Prozess (auch bekannt als Prozess ID);
  • Programmzähler (PC) - Ein Zeiger auf die Adresse der nächsten Anweisung, die für diesen Prozess ausgeführt wird;
  • CPU -Register - Register -Set, wo der Prozess für die Ausführung für den laufenden Status gespeichert werden muss.
  • CPU -Planungsinformationen - Informationsplanung der CPU -Zeit;
  • Speicherverwaltungsinformationen - Seitentabelle, Speichergrenzwerte, Segmenttabelle;
  • Buchhaltungsinformationen - Menge an Zentralprozessor verwendet für die Prozessausführung, Zeitlimits, Ausführungs -ID usw.;
  • E/A -Statusinformationen - Liste der E/A -Geräte, die dem Prozess zugewiesen wurden.

Ort

Die PCB muss in einem Speicherbereich aufbewahrt werden, der vor normalem Prozesszugriff geschützt ist. In einigen Betriebssystemen befindet sich die PCB am unteren Rand des Prozesses Stapel.[2]

Siehe auch

Anmerkungen

  1. ^ Gagne, Abraham Silberschatz, Peter Baer Galvin, Greg (2013). Betriebssystemkonzepte (9. Aufl.). Hoboken, N.J.: Wiley. pp.107–108. ISBN 9781118063330.
  2. ^ Yong, Zhang, "Durchbruch der maximalen Prozesszahl", "Linux Journal", 1. Januar 2004, [1].