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.