Betriebssysteme - Prozesse
Ba Sem 2 AI
Ba Sem 2 AI
-
- 1 / 11
-
Cartes-fiches
Prozessbegriff
Abarbeitung eines Programms
bedeutet Veränderung
- Daten
- Zustand des Rechners
- Stelle im Programm, die gerade abgearbeitet wird
- evtl. auch Zustand der Umgebung des Rechners
also:
eine dynamische Abfolge von Zustandsänderungen, die durch Ausführung eines Programms auf einem Rechner zustande kommt.
T D S
T = Code
D = Daten
S = Stack
Task Begriff
Auftrag
Programm kann mehreren Prozessen zugeordnet sein z.B.:
task1->process1->program A
task2->process2->program A
Task: Durch was werden sie ausgelöst?
- Benutzer (z.B. durch Kommandoeingabe)
- andere Prozesse
- die Peripherie oder Hardware des Rechners (Interrupt)
Task: Was passiert wenn der Auftrag erfüllt ist?
i.d.R. ("stirbt") der Prozess
Merkmale eines Prozesses: Ressourcenbesitz
belegt einen (virtuellen) Adressraum, in dem das Programm und die Daten liegen sowie der Zustand verwaltet wird
Zugriff auf Dateien, Kommunikationskanäle (z.B. zu anderen Prozessen) und E/A-Geräte (Beachte: Der Besitz dieser Ressourcen ist nicht statisch!)
Was passiert bei einem Prozesswechsel ganz grob?
- Übergang von bereit nach aktiv
- Bisher aktiver Prozess wird inaktiv
- Alle Prozesse haben zwar das gleiche Zustandsmodell, durchlaufen aber nicht zur selben Zeit dieselben Übergänge
Dispatching-Aufwand
- Sicherung des alten Kontextes in PCB
- Prozesszustand und Verwaltungs-Info in PCB aktualisieren
- Eintragen des alten Prozesses in passende Wareliste
- Auswahl des zu aktivierenden Prozesses aus Bereit-Liste (und Ausketten von dessen PCB)
- Prozesszustand in PCB aktualisieren
- Laden des neuen Kontextes aus PCB
- Speichersegmente aktualisieren
Prozesswechsel noch aufwendiger bei CPU-Zuteilung von Prozessen mit ausgelagerten Zustand
- i.d.R. muss zunächst ein anderer zur Zeit nicht aktiver Prozess ausgelagert werden (oder auch mehrere)
- der zu aktiverende Prozess muss im freigewordenen Speicherbereich wieder eingelagert werden.
Was ist die Kernaufgabe eines Betriebssystems
Die Verwaltung von Prozessen.
Wie verwaltet ein Betriebssystem die laufenden Programme ?
Betriebssystem verwaltet die Prozesse in einer Prozesstabelle
Die Prozesstabelle enthält Verweise auf Prozesssteuerblöcke
Welche Zustände können Prozesse typischerweise einnehmen?
aktive Zustände: ready, running, blocked
inaktive Zustände: inactive ready, inaktive blocked