Beschreiben Sie kurz die Bedeutung und Funktion von PCB

Damit jedes an der gleichzeitigen Ausführung teilnehmende Programm inklusive Daten unabhängig ablaufen kann, muss dafür im Betriebssystem eine spezielle Datenstruktur konfiguriert werden, der sogenannte Prozesskontrollblock (PCB, Prozesssteuerungsblock). Es besteht eine Eins-zu-Eins-Entsprechung zwischen dem Prozess und der PCB, und der Benutzerprozess kann nicht geändert werden.

ipcb

Die Rolle der Prozesssteuerungsblock-Leiterplatte:

Um die Systembeschreibung und das Management des Ablaufs des Prozesses zu erleichtern, wird im Kern des OS-Process Control Block PCB (Process Control Block) für jeden Prozess eine spezifische Datenstruktur definiert. Als Teil der Prozesseinheit zeichnet PCB alle Informationen auf, die das Betriebssystem benötigt, um die aktuelle Situation des Prozesses zu beschreiben und den Betrieb des Prozesses zu verwalten. Es ist die wichtigste aufgezeichnete Datenstruktur im Betriebssystem. Die Rolle von PCB besteht darin, ein Programm (einschließlich Daten), das in einer Mehrprogrammumgebung nicht unabhängig ausgeführt werden kann, zu einer Basiseinheit zu machen, die unabhängig ausgeführt werden kann, ein Prozess, der gleichzeitig mit anderen Prozessen ausgeführt werden kann.

(2) PCB kann intermittierenden Betriebsmodus realisieren. In einer Umgebung mit mehreren Programmen läuft das Programm in einem intermittierenden Stop-and-Go-Betriebsmodus. Wenn ein Prozess aufgrund einer Blockierung angehalten wird, muss er die CPU-Standortinformationen beibehalten, wenn er ausgeführt wird. Nachdem die PCB vorhanden ist, kann das System die CPU-Site-Informationen in der PCB des unterbrochenen Prozesses zur Verwendung speichern, wenn die CPU-Site wiederhergestellt wird, wenn der Prozess erneut zur Ausführung geplant ist. Daher kann noch einmal klargestellt werden, dass es in einer Mehrprogrammumgebung als statisches Programm im herkömmlichen Sinne, weil es nicht über die Mittel verfügt, den eigenen Betriebsort zu schützen oder zu retten, die Reproduzierbarkeit seiner Betriebsergebnisse nicht garantieren kann , wodurch seine Funktion verloren geht. Bedeutung.

(3) PCB liefert Informationen, die für das Prozessmanagement benötigt werden. Wenn der Scheduler die Ausführung eines Prozesses plant, kann er nur das entsprechende Programm und die entsprechenden Daten gemäß dem Startadressenzeiger des Programms und den in der PCB des Prozesses aufgezeichneten Daten im Speicher oder externen Speicher finden; während des Ablaufs, wenn auf die Datei zugegriffen werden muss Wenn die Dateien oder E/A-Geräte im System sind, müssen sie sich auch auf die Informationen in der Leiterplatte verlassen. Außerdem können gemäß der Ressourcenliste im PCB alle für den Prozess benötigten Ressourcen erlernt werden. Es ist zu erkennen, dass während des gesamten Lebenszyklus eines Prozesses das Betriebssystem den Prozess immer entsprechend der Leiterplatte steuert und verwaltet.

(4) PCB liefert Informationen, die für die Prozessplanung benötigt werden. Nur Prozesse im Bereitschaftszustand können zur Ausführung eingeplant werden, und der PCB liefert Informationen darüber, in welchem ​​Zustand sich der Prozess befindet. Wenn sich der Prozess im Bereitschaftszustand befindet, fügt das System ihn in die Prozessbereitschaftswarteschlange ein und wartet auf die Planung durch den Scheduler ; außerdem ist es bei der Terminplanung oft notwendig, weitere Informationen über den Prozess zu kennen. Im Prioritätsplanungsalgorithmus müssen Sie beispielsweise die Prozesspriorität kennen. Bei einigen gerechteren Planungsalgorithmen müssen Sie auch die Wartezeit des Prozesses und die ausgeführten Ereignisse kennen.

(5) PCB realisiert Synchronisation und Kommunikation mit anderen Prozessen. Der Prozesssynchronisationsmechanismus wird verwendet, um den koordinierten Betrieb verschiedener Prozesse zu realisieren. Wenn der Semaphor-Mechanismus übernommen wird, erfordert es, dass in jedem Prozess ein entsprechender Semaphor zur Synchronisation eingestellt wird. Die Leiterplatte verfügt außerdem über einen Bereichs- oder Kommunikationswarteschlangenzeiger für die Prozesskommunikation.

Informationen im Prozesskontrollblock:

Im Prozesssteuerungsblock enthält er hauptsächlich die folgenden Informationen:

(1) Prozesskennung: Die Prozesskennung wird verwendet, um einen Prozess eindeutig anzuzeigen. Ein Prozess hat normalerweise zwei Arten von Bezeichnern: ① externe Bezeichner. Um dem Benutzerprozess den Zugriff auf den Prozess zu erleichtern, muss für jeden Prozess eine externe Kennung gesetzt werden. Es wird vom Ersteller bereitgestellt und besteht in der Regel aus Buchstaben und Zahlen. Um die Verwandtschaft des Prozesses zu beschreiben, sollten auch die ID des übergeordneten Prozesses und die ID des untergeordneten Prozesses gesetzt werden. Darüber hinaus kann eine Benutzer-ID festgelegt werden, um den Benutzer anzugeben, der Eigentümer des Prozesses ist. ②Interne Kennung. Um die Nutzung des Prozesses durch das System zu erleichtern, wird für den Prozess im OS eine interne Kennung gesetzt, dh jeder Prozess erhält eine eindeutige digitale Kennung, bei der es sich in der Regel um die Seriennummer eines Prozesses handelt.

(2) Prozessorzustand: Die Prozessorzustandsinformationen werden auch als Kontext des Prozessors bezeichnet, der sich hauptsächlich aus den Inhalten verschiedener Register des Prozessors zusammensetzt. Zu diesen Registern gehören: ①Allzweckregister, auch als benutzersichtbare Register bekannt, die von Benutzerprogrammen zugänglich sind und zum vorübergehenden Speichern von Informationen verwendet werden. In den meisten Prozessoren gibt es 8 bis 32 Universalregister. In RISC-strukturierten Computern Es können mehr als 100 sein; ②Befehlszähler, der die Adresse des nächsten Befehls speichert, auf den zugegriffen werden soll; ③Programmstatuswort PSW, das Statusinformationen wie Bedingungscode, Ausführungsmodus, Interruptmaskenflag usw. enthält; ④Benutzer-Stack-Zeiger, Dies bedeutet, dass jeder Benutzerprozess einen oder mehrere zugehörige System-Stacks hat, die zum Speichern von Prozess- und Systemaufrufparametern und Aufrufadressen verwendet werden. Der Stapelzeiger zeigt auf die Spitze des Stapels. Wenn sich der Prozessor im Ausführungszustand befindet, wird ein Großteil der verarbeiteten Informationen im Register abgelegt. Beim Umschalten des Prozesses müssen die Prozessorzustandsinformationen in der entsprechenden Platine gespeichert werden, damit die Ausführung beim erneuten Ausführen des Prozesses ab dem Breakpoint fortgesetzt werden kann.

(3) Prozessplanungsinformationen: Wenn das Betriebssystem eine Planung durchführt, ist es notwendig, den Status des Prozesses und Informationen über die Prozessplanung zu verstehen. Diese Informationen umfassen: Prozessstatus, der den aktuellen Status des Prozesses angibt, der als Grundlage für die Prozessplanung und das Swapping verwendet wird. Der Prozess mit der höheren Priorität sollte zuerst den Prozessor erhalten; ③Andere Informationen, die für die Prozessplanung erforderlich sind, die sich auf den verwendeten Prozessplanungsalgorithmus beziehen. Zum Beispiel die Summe der Zeit, die der Prozess auf die CPU gewartet hat, die Summe der Zeit, die der Prozess ausgeführt wurde, und so weiter; ④Ereignis bezieht sich auf das Ereignis, das darauf wartet, dass der Prozess vom Ausführungszustand in den Blockierungszustand wechselt, d. h. die Ursache der Blockierung.

(4) Prozesssteuerungsinformationen: Bezieht sich auf die Informationen, die für die Prozesssteuerung erforderlich sind, einschließlich: ①Die Adresse des Programms und der Daten, die Speicher- oder externe Speicheradresse des Programms und der Daten in der Prozesseinheit, damit sie geplant werden können ausführen, wenn der Prozess ausgeführt wird. , Das Programm und die Daten können von der Platine gefunden werden; ②Prozesssynchronisations- und Kommunikationsmechanismus, der ein notwendiger Mechanismus für die Synchronisation und Prozesskommunikation ist, wie z. B. Nachrichtenwarteschlangenzeiger, Semaphoren usw., sie können ganz oder teilweise in der Leiterplatte platziert werden; ③Ressourcenliste, in der alle Ressourcen (außer CPU) aufgeführt sind, die der Prozess während seines Betriebs benötigt, sowie eine Liste der dem Prozess zugewiesenen Ressourcen; ④Link-Zeiger, der den Prozess angibt ( PCB) Die erste Adresse des PCB des nächsten Prozesses in der Warteschlange.