2.1 KiB
2.1 KiB
Prozessstruktur
Prozessdarstellung
- Umfasst Zustände und Struktur eines laufenden Programms
Prozesse im Speicher
- Ablage im physischen Speicher erfolgt in nicht fortlaufender Weise durch den virtuellen Speicher
- nicht zwangsläufig ständig im Hauptspeicher
Erzeugung von Prozesskopien
- Systemaufruf fork unter Linux/Unix
- Erzeugung einer identischen Kopie eines Prozesses
- aufrufender Prozess: Elternprozess (Parent Process)
- neuer Prozess: Kind-Prozess (Child Process)
- hat gleichen Programmcode und Befehlszähler
- verweist auf gleiche Zeile im Programmcode
- hat gleichen Programmcode und Befehlszähler
- Speicherbereiche von Kind- und Elternprozess streng getrennt
Erzeugung von neuen Prozessen
- Systemaufruf exec
Übersicht Erzeugung/Verkettung/Vergabelung
Beenden von Prozessen
Arten des Beendens:
- Normales Beenden (freiwillig, im Code definiert)
- Beenden aufgrund eines Fehlers (freiwillig, im Code definiert)
- Beenden aufgrund eines schwerwiegenden Fehlers (unfreiwillig, durch BS)
- Beenden durch einen anderen Prozess (unfreiwillig)
Unix Befehl: kill erstellt einen Wrapper um BS-Aufruf kilL()
- ist auf jedem Unix als alleinstehende Anwendung vorhanden (/bin/kill)
Zeitliche Ausführung von Prozessen
- Scheduler ist wichtige Komponente des Betriebssystems
- Zuständig für Zuweisung von CPU-Ressourcen an laufenden Prozessen
- Hauptaufgabe: Reihenfolge festlegen