Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Welche drei Teile umfasst der Linux-Prozess?

Welche drei Teile umfasst der Linux-Prozess?

青灯夜游
青灯夜游Original
2023-03-02 10:47:592493Durchsuche

Drei Teile des Linux-Prozesses: 1. Prozesssteuerungsblock, der ein Programm (einschließlich Daten), das in einer Umgebung mit mehreren Programmen nicht unabhängig ausgeführt werden kann, zu einer Grundeinheit macht, die unabhängig ausgeführt werden kann, und zu einem Programm, das gleichzeitig ausgeführt werden kann mit anderen Prozessen Prozess; 2. Programmsegment ist das Programmcodesegment im Prozess, das vom Prozessplaner auf der CPU ausgeführt werden kann. 3. Datensegment ist das Datensegment eines Prozesses, bei dem es sich um die von ihm verarbeiteten Originaldaten handeln kann Programm, das dem Prozess entspricht, oder es kann Es handelt sich um die Zwischen- oder Enddaten, die nach der Ausführung des Programms generiert werden.

Welche drei Teile umfasst der Linux-Prozess?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

1. Definition eines Prozesses

Ein Prozess ist eine laufende Aktivität eines Programms in einem Computer auf einem bestimmten Datensatz. Er ist die Grundeinheit der Ressourcenzuweisung im System und die Grundlage der Betriebssystemstruktur .

Kurz gesagt, es ist der Ausführungsprozess des Programms.
Ein Prozess ist eine Instanz eines laufenden Programms, also einer Aufgabe, die ausgeführt wird.
Ein Prozess hat einen Lebenszyklus. Er wird erstellt, wenn das Programm ausgeführt wird, und endet, wenn das Programm endet.
Ein Prozess ist die kleinste Einheit für die Zuweisung von Ressourcen Solange ein Prozess erstellt wird, werden [0-3G] Benutzerspeicherplatz zugewiesen.
Solange der Benutzer ein Programm ausführt, erstellt der Kernel eine task_struct (PCB)-Struktur, die den aktuellen Prozess darstellt.
Behält seinen eigenen Satz von Dateideskriptoren und Puffern innerhalb des Prozesses bei. Sobald die Prozessausführung beendet ist, werden alle seine Ressourcen vom Betriebssystem zurückgefordert.

Welche drei Teile umfasst der Linux-Prozess?... Prozess ist Es wird dynamisch erstellt und stirbt dynamisch.

Parallelität: Jeder Prozess kann gleichzeitig mit anderen Prozessen ausgeführt werden. Welche drei Teile umfasst der Linux-Prozess?

Unabhängigkeit: Ein Prozess ist eine Grundeinheit, die unabhängig ausgeführt werden kann, und er ist auch eine unabhängige Einheit für die Systemzuweisung und -planung von Ressourcen Asynchrone Eigenschaften: Aufgrund der gegenseitigen Einschränkungen zwischen Prozessen weist der Prozess eine intermittierende Ausführung auf, das heißt, der Prozess schreitet mit einer unabhängigen und unvorhersehbaren Geschwindigkeit voran im Datensatz gebildet werden und unterschiedliche Ergebnisse erzielt werden können; das Programm kann jedoch während der Ausführung nicht geändert werden.

  • 3. Die Zusammensetzung und Funktion des Prozesses

  • Die Zusammensetzung des Prozesses besteht aus drei Teilen: Prozesssteuerungsblock PCB (task_struct), Datensegment und Programmsegment.
  • Prozesskontrollblock: Verwandeln Sie ein Programm (einschließlich Daten), das in einer Umgebung mit mehreren Programmen nicht unabhängig ausgeführt werden kann, in eine Basiseinheit, die unabhängig ausgeführt werden kann, einen Prozess, der gleichzeitig mit anderen Prozessen ausgeführt werden kann.

    Programmsegment: Es handelt sich um ein Programmcodesegment im Prozess, das vom Prozessplaner auf der CPU ausgeführt werden kann.
  • Datensegment: Das Datensegment eines Prozesses kann die Originaldaten sein, die von dem dem Prozess entsprechenden Programm verarbeitet werden, oder die Zwischen- oder Enddaten, die nach der Ausführung des Programms generiert werden.
  • 4. Prozesssteuerungsblock

4.1 ProzesssteuerungsblockdefinitionUm den Betrieb des Steuerungsprozesses zu beschreiben, die Datenstruktur, in der die Verwaltungs- und Steuerungsinformationen des Prozesses gespeichert sind Im System wird es als Prozesssteuerungsblock (PCB Process Control Block) bezeichnet, der Teil der Prozesseinheit und die wichtigste Datenstruktur zur Datenaufzeichnung im Betriebssystem ist. Es ist die wichtigste Datenstruktur für die Prozessverwaltung und -steuerung. Jeder Prozess verfügt über eine Leiterplatte. Bei der Erstellung eines Prozesses wird die Leiterplatte erstellt und begleitet den gesamten Prozess, bis der Prozess abgebrochen wird.

Die Essenz von PCB ist eine Struktur. Der Name von PCB ist in verschiedenen Betriebssystemen unterschiedlich. Unter Linux heißt die Leiterplatte task_struct und ist das einzige Mittel zur Steuerung des Prozesses.

Jeder Prozess hat einen Prozessdeskriptor: task_struct. Viele Informationen zur Prozesssteuerung sind in task_struct gespeichert. 4.2 Inhalte von task_struct andere Prozesse.

Status: Aufgabenstatus, Exit-Code, Exit-Signal usw. Priorität: relativ zur Priorität anderer Prozesse (je kleiner die Zahl, desto höher die Priorität).

Programmzähler: Die Adresse des nächsten Befehls, der im Programm ausgeführt werden soll.

  • Speicherzeiger: einschließlich Zeiger auf Programmcode und prozessbezogene Daten sowie Zeiger auf Speicherblöcke, die mit anderen Prozessen gemeinsam genutzt werden.

  • Kontextdaten: Beim Speichern des Kontexts wird der Wert im CPU-Register im Speicher gespeichert. Beim Wiederherstellen des Kontexts wird der Registerwert im Speicher in der CPU wiederhergestellt die angezeigte I/O-Anfrage, das dem Prozess zugeordnete I/O-Gerät und die Liste der vom Prozess verwendeten Dateien.

  • Buchhaltungsinformationen: können die gesamte Prozessorzeit, die Gesamtzahl der verwendeten Uhren, Zeitlimits, Buchhaltungskonten usw. umfassen.

  • Weitere Informationen

  • 5. Der Unterschied zwischen Prozess und Programm

    Ein Prozess ist ein Ausführungsprozess eines Programms. Er ist dynamisch, hat einen Lebenszyklus und wird im Speicher gespeichert .

    • Programme sind statisch und haben keinen Lebenszyklus. Ein auf der Festplatte gespeichertes Programm ist eine ausführbare Datei.

    • Prozesse können Parallelität realistischer beschreiben, Programme jedoch nicht.

    • Prozesse haben die Fähigkeit, andere Prozesse zu erstellen, Programme jedoch nicht.

    • Das gleiche Programm kann mehreren Prozessen entsprechen.

    6. Der Unterschied zwischen Prozessen und Threads

    Normalerweise kann ein Prozess mehrere Threads enthalten, die die Ressourcen des Prozesses nutzen können, die Threads einführen Als Grundeinheit für die Zuweisung von Ressourcen werden Threads als Grundeinheit für den unabhängigen Betrieb und die unabhängige Planung verwendet. Da Threads kleiner als Prozesse sind und grundsätzlich keine Systemressourcen besitzen, ist der Overhead für ihre Planung viel geringer und kann effizienter verbessert werden Grad der gleichzeitigen Ausführung mehrerer Programme im System.

    7. Prozesstypen

    Es gibt drei Arten von Prozessen: interaktiver Prozess, Batch-Prozess, Daemon-Prozess

    Interaktiver Prozess: Der interaktive Prozess wird von der Shell verwaltet und interagiert mit dem Benutzer über die Hülse .

    Ein Texteditor ist beispielsweise ein interaktiver Prozess.

    • Batch-Prozess: Der Batch-Prozess wird in eine Warteschlange im Kernel gestellt und ausgeführt, während die Warteschlange ausgeführt wird. Seine Priorität ist relativ niedrig.

      Zum Beispiel der Prozess der gcc-Kompilierung eines Programms.

    • Daemon-Prozess: Ein Daemon-Prozess ist ein Prozess, der im Hintergrund läuft. Er startet, wenn das System startet, und endet, wenn das System beendet wird.

      Zum Beispiel verschiedene Dienste unter Windows.

    • Verwandte Empfehlungen: „

      Linux-Video-Tutorial

    Das obige ist der detaillierte Inhalt vonWelche drei Teile umfasst der Linux-Prozess?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Vorheriger Artikel:Was bedeutet Linux-Ups?Nächster Artikel:Was bedeutet Linux-Ups?