Betriebssystem - Prozesse
Prozess
Ein Prozess ist im Grunde ein Programm in Ausführung. Die Ausführung eines Prozesses muss sequentiell erfolgen.
Ein Prozess ist als eine Entität definiert, die die grundlegende Arbeitseinheit darstellt, die im System implementiert werden soll.
Einfach ausgedrückt schreiben wir unsere Computerprogramme in eine Textdatei. Wenn wir dieses Programm ausführen, wird es zu einem Prozess, der alle im Programm genannten Aufgaben ausführt.
Wenn ein Programm in den Speicher geladen wird und zu einem Prozess wird, kann es in vier Abschnitte unterteilt werden: Stapel, Heap, Text und Daten. Das folgende Bild zeigt ein vereinfachtes Layout eines Prozesses im Hauptspeicher -
SN | Komponentenbeschreibung |
---|---|
1 | Stack Der Prozessstapel enthält die temporären Daten wie Methoden- / Funktionsparameter, Rücksprungadresse und lokale Variablen. |
2 | Heap Dies wird einem Prozess während seiner Laufzeit dynamisch Speicher zugewiesen. |
3 | Text Dies schließt die aktuelle Aktivität ein, die durch den Wert des Programmzählers und den Inhalt der Register des Prozessors dargestellt wird. |
4 | Data Dieser Abschnitt enthält die globalen und statischen Variablen. |
Programm
Ein Programm ist ein Code, der aus einer einzelnen Zeile oder Millionen von Zeilen bestehen kann. Ein Computerprogramm wird normalerweise von einem Computerprogrammierer in einer Programmiersprache geschrieben. Hier ist zum Beispiel ein einfaches Programm, das in der Programmiersprache C geschrieben ist -
#include <stdio.h>
int main() {
printf("Hello, World! \n");
return 0;
}
Ein Computerprogramm ist eine Sammlung von Anweisungen, die eine bestimmte Aufgabe ausführen, wenn sie von einem Computer ausgeführt werden. Wenn wir ein Programm mit einem Prozess vergleichen, können wir schließen, dass ein Prozess eine dynamische Instanz eines Computerprogramms ist.
Ein Teil eines Computerprogramms, das eine genau definierte Aufgabe ausführt, wird als bezeichnet algorithm. Eine Sammlung von Computerprogrammen, Bibliotheken und verwandten Daten wird als bezeichnetsoftware.
Prozesslebenszyklus
Wenn ein Prozess ausgeführt wird, durchläuft er verschiedene Zustände. Diese Phasen können in verschiedenen Betriebssystemen unterschiedlich sein, und die Namen dieser Zustände sind ebenfalls nicht standardisiert.
Im Allgemeinen kann ein Prozess jeweils einen der folgenden fünf Zustände haben.
SN | Zustand & Beschreibung |
---|---|
1 | Start Dies ist der Ausgangszustand, wenn ein Prozess zum ersten Mal gestartet / erstellt wird. |
2 | Ready Der Prozess wartet darauf, einem Prozessor zugewiesen zu werden. Bereit-Prozesse warten darauf, dass ihnen der Prozessor vom Betriebssystem zugewiesen wird, damit sie ausgeführt werden können. Prozess kann nach in diesen Zustand kommenStart Status oder während der Ausführung durch, aber unterbrochen vom Scheduler, um die CPU einem anderen Prozess zuzuweisen. |
3 | Running Sobald der Prozess vom OS-Scheduler einem Prozessor zugewiesen wurde, wird der Prozessstatus auf "Ausführen" gesetzt und der Prozessor führt seine Anweisungen aus. |
4 | Waiting Der Prozess wird in den Wartezustand versetzt, wenn auf eine Ressource gewartet werden muss, z. B. auf Benutzereingaben oder auf die Verfügbarkeit einer Datei. |
5 | Terminated or Exit Sobald der Prozess seine Ausführung beendet hat oder vom Betriebssystem beendet wird, wird er in den abgeschlossenen Zustand versetzt, in dem er darauf wartet, aus dem Hauptspeicher entfernt zu werden. |
Prozesssteuerungsblock (PCB)
Ein Prozesssteuerungsblock ist eine Datenstruktur, die vom Betriebssystem für jeden Prozess verwaltet wird. Die Leiterplatte wird durch eine ganzzahlige Prozess-ID (PID) identifiziert. Eine Leiterplatte enthält alle Informationen, die zur Verfolgung eines Prozesses erforderlich sind, wie unten in der Tabelle aufgeführt.
SN | Informationen & Beschreibung |
---|---|
1 | Process State Der aktuelle Status des Prozesses, dh ob er bereit ist, ausgeführt wird, wartet oder was auch immer. |
2 | Process privileges Dies ist erforderlich, um den Zugriff auf Systemressourcen zuzulassen / zu verbieten. |
3 | Process ID Eindeutige Identifikation für jeden Prozess im Betriebssystem. |
4 | Pointer Ein Zeiger auf den übergeordneten Prozess. |
5 | Program Counter Der Programmzähler ist ein Zeiger auf die Adresse des nächsten Befehls, der für diesen Prozess ausgeführt werden soll. |
6 | CPU registers Verschiedene CPU-Register, in denen der Prozess zur Ausführung für den laufenden Zustand gespeichert werden muss. |
7 | CPU Scheduling Information Prozesspriorität und andere Planungsinformationen, die zum Planen des Prozesses erforderlich sind. |
8 | Memory management information Dies beinhaltet die Informationen der Seitentabelle, der Speichergrenzen und der Segmenttabelle in Abhängigkeit vom vom Betriebssystem verwendeten Speicher. |
9 | Accounting information Dies beinhaltet die Menge an CPU, die für die Prozessausführung verwendet wird, Zeitlimits, Ausführungs-ID usw. |
10 | IO status information Dies umfasst eine Liste der dem Prozess zugewiesenen E / A-Geräte. |
Die Architektur einer Leiterplatte ist vollständig vom Betriebssystem abhängig und kann in verschiedenen Betriebssystemen unterschiedliche Informationen enthalten. Hier ist ein vereinfachtes Diagramm einer Leiterplatte -
Die Leiterplatte wird während ihrer gesamten Lebensdauer für einen Prozess gewartet und nach Beendigung des Prozesses gelöscht.