Prozess ist die Grundeinheit für die Ressourcenzuweisung und -planung im System.
Der Prozess ist auch die Planungseinheit, die dem Prozessor zuvorkommt. Er verfügt über einen vollständigen virtuellen Adressraum. (Empfohlenes Lernen: Web-Frontend-Video-Tutorial )
Wenn der Prozess geplant ist, haben verschiedene Prozesse unterschiedliche virtuelle Adressräume und unterschiedliche Threads im selben Prozess befinden sich im selben Prozess und teilen sich den gleichen Adressraum.
Entsprechend einem Prozess hat ein Thread nichts mit der Ressourcenzuweisung zu tun. Er gehört zu einem bestimmten Prozess und teilt die Ressourcen des Prozesses mit anderen Threads im Prozess. Threads bestehen nur aus relevanten Stack-Registern (System-Stack oder Benutzer-Stack) und der Thread-Steuertabelle TCB. Register können zum Speichern lokaler Variablen innerhalb eines Threads verwendet werden, sie können jedoch keine Variablen speichern, die sich auf andere Threads beziehen. Normalerweise kann ein Prozess mehrere Threads enthalten, die die Ressourcen des Prozesses nutzen können. In Betriebssystemen, die Threads einführen, werden Prozesse normalerweise als Grundeinheit der Ressourcenzuweisung und Threads als Grundeinheit für unabhängigen Betrieb und unabhängige Planung betrachtet. Da Threads kleiner als Prozesse sind, besitzen sie grundsätzlich keine Systemressourcen. Daher ist der Aufwand für ihre Planung viel geringer, was den Grad der gleichzeitigen Ausführung mehrerer Programme im System effizienter erhöhen kann. Dadurch werden die Auslastung der Systemressourcen und der Durchsatz erheblich verbessert. Daher haben in den letzten Jahren eingeführte Allzweck-Betriebssysteme Threads eingeführt, um die Parallelität des Systems weiter zu verbessern, und betrachten sie als wichtigen Indikator für moderne Betriebssysteme.Thread-Entitäten umfassen Programme, Daten und TCB. Thread ist ein dynamisches Konzept und seine dynamischen Eigenschaften werden durch den Thread Control Block (TCB) beschrieben.
TCB enthält die folgenden Informationen:
(1) Thread-Status.
(2) Vor-Ort-Ressourcen, die gespeichert werden, wenn der Thread nicht ausgeführt wird. (3) Eine Reihe von Ausführungsstapeln. (4) Speichern Sie die lokalen Variablen jedes Threads im Hauptspeicherbereich. (5) Greifen Sie im selben Prozess auf den Hauptspeicher und andere Ressourcen zu. Eine Reihe von Registern und Stapeln, die verwendet werden, um den Programmzähler der ausgeführten Befehlssequenz anzuzeigen, lokale Variablen, einige Statusparameter, Rücksprungadressen usw. zu speichern.Das obige ist der detaillierte Inhalt vonWas ist in einem Betriebssystem die kleinste Einheit der Ressourcenzuweisung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!