Was ist ein Prozess unter Linux?
Ein Prozess ist in Laiensprache ein laufendes Programm, ein laufendes Programm, auch PCB (Process Control Block) genannt.
Unter dem Linux-Betriebssystem wird ein Prozess als A beschrieben Struktur namens task_struct. Was enthält diese Struktur?
Wir alle wissen, dass ein Programm, damit es ausgeführt werden kann, zunächst die entsprechende ausführbare Datei von der Festplatte in den Speicher laden muss. Woher wissen wir also, wo sie sich im Speicher befindet? Zu diesem Zeitpunkt müssen Sie es über eine sogenannte Prozesskennung (PID) finden. Genau wie wir haben wir etwas, das unsere Identität repräsentiert, nämlich einen Personalausweis.
Nachdem Sie herausgefunden haben, wo sich das Programm befindet, müssen Sie, wenn Sie es ausführen möchten, den entsprechenden Code und die Daten kennen, von denen der Code abhängt, sodass der Speicherzeiger geboren wurde. Speicherzeiger werden verwendet, um auf Programmcode und entsprechende Daten zu verweisen. Das Programm ist nun betriebsbereit.
Da es jedoch viele Prozesse gibt und es im Allgemeinen nur eine zentrale Verarbeitungseinheit (CPU) gibt, ist es zur Gewährleistung der reibungslosen Umsetzung vieler Prozesse erforderlich, eine Ausführungssequenz zwischen den Prozessen zu haben. das heißt, Priorität. Es ist viel einfacher, mehrere Prozesse zu implementieren, nachdem Prioritäten festgelegt wurden.
Es ist jedoch zu beachten, dass die CPU nicht einen Prozess ausführt, bevor sie den nächsten ausführt. Sie führt den nächsten Prozess aus, nachdem ein Programm eine Zeit lang ausgeführt wurde und nachdem der nächste Prozess ausgeführt wurde für einen bestimmten Zeitraum ausgeführt werden. Führen Sie dann nachfolgende Prozesse aus. Zu diesem Zeitpunkt tritt ein Problem auf. Was soll ich tun, wenn ein nicht ausgeführtes Programm die Ausführung an der vorherigen Stelle fortsetzen möchte? Keine Sorge, wir schützen die Szene mit „Kontext“.
Wie bereits erwähnt, wird ein Programm eine Zeit lang ausgeführt, bevor die CPU das nächste Programm ausführt. Wie lange sollte ein Programm also ausgeführt werden, bevor die CPU aufgibt? Hier verwenden wir „Buchhaltungsinformationen“, um diese Zeit zu erfassen.
Darüber hinaus werden beim Ausführen des Prozesses viele Zustände angezeigt, z. B. der Bereitschaftszustand (R), der unterbrechbare Ruhezustand (S), der unterbrechungsfreie Ruhezustand (D) usw., sodass auch Aufzeichnungen vorhanden sind Status des Prozesses. Natürlich gibt es auch E/A-Statusinformationen, nämlich Standardeingabe, Standardausgabe und Standardfehlerausgabe.
Zusammenfassend lässt sich sagen, dass eine task_struct, eine Struktur, die einen Prozess beschreibt, die folgenden Teile enthält:
● Bezeichner: Wird zum Aufzeichnen der ID des Prozesses verwendet, d. h. pid
● Speicherzeiger: Zeigt auf den Programmcode und zugehörige Daten usw.
● Priorität;
● Kontext: Speichert die letzte Ausführungsstelle des Prozesses auf der CPU
● Abrechnungsinformationen: Wird aufgezeichnet, wenn ein Prozess die CPU aufgeben sollte
● Status: Aufgezeichneter prozessbezogener Status
● E/A-Statusinformationen
● Signal -bezogene Informationen
Empfohlen: Linux-System-Grundlagen-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist ein Prozess unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!