Grundlagen von Programmen, Prozessen und Multitasking
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 2,04 KB
Grundlagen von Programmen und Prozessen
Ein Programm ist statisch; es ist ein Satz von Anweisungen, die, wenn sie ausgeführt werden, ein spezifisches Problem lösen, das sich nicht ändert.
Ein Prozess ist dynamisch; es ist ein laufender Teil eines Programms mit allem, was dazu gehört: Werte von Registern, Variablen, dem Inhalt des Programmzählers usw.
Das Betriebssystem ist für die folgenden Aktivitäten im Zusammenhang mit dem Prozessmanagement verantwortlich: die Erstellung von System- und Benutzerprozessen, die Prozessplanung sowie Mechanismen für die Synchronisation, Kommunikation und das Management von Deadlocks zwischen Prozessen.
Alle modernen Computer können mehrere Dinge gleichzeitig tun. Während ein Benutzerprogramm läuft, kann ein Computer von einem Datenträger lesen und auf einem Terminal oder Drucker ausgeben. In einem Multiprogramming-System wechselt die CPU auch zwischen Programmen, wobei jedes Programm Dutzende oder Hunderte von Millisekunden läuft. Dieser schnelle Wechsel wird als Multiprogramming oder Multitasking bezeichnet.
Definition eines Prozesses und seiner Zustände
Ein Prozess ist ein laufendes Programm mit seiner gesamten zugehörigen Umgebung (Dateien, Datensätze, Variablen und Befehle, die das laufende Programm, Daten, Stack usw. bilden).
Ein Prozess wird intern im Betriebssystem durch einen Datensatz namens „Prozesskontrollblock“ (PCB) repräsentiert, der jederzeit den Zustand, die verwendeten Ressourcen, Register usw. enthält.
Die Prozesskontrollblöcke werden in Warteschlangen gespeichert; jede Warteschlange repräsentiert einen bestimmten Zustand. Es gibt viele Arten von Warteschlangen, da Prozesse verschiedene Zustände annehmen können, z. B. eine Warteschlange für blockierte Prozesse, eine für bereite Prozesse usw.
Die Zustände der Prozesse werden vom Betriebssystem transparent für den Benutzer verwaltet, sodass dieser stets glaubt, sein Prozess laufe.