30
Beschreibung und Verwaltung von Prozesse Kapitel 3

Beschreibung und Verwaltung von Prozesse Kapitel 3

Embed Size (px)

Citation preview

Page 1: Beschreibung und Verwaltung von Prozesse Kapitel 3

Beschreibung und Verwaltung von Prozesse

Kapitel 3

Page 2: Beschreibung und Verwaltung von Prozesse Kapitel 3

Die wichtigste Anforderungen die ein Betriebssystem erfüllen muss

• Kann mehrere Prozesse im Wechsel ausführen, um den Nutzungsgrad des Prozessors zu maximieren, um dabei eine akzeptable Antwortzeit zu erreichen

• Teilt Prozessen Ressourcen zu• Unterstützt Interprozesskommunikation

und Erzeugung von Prozessen durch Benutzer

Page 3: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozess

• Ausführung eines einzelnen Programms

• Kann aufgelistet (traced) werden– Eine Trace ist eine Auflistung der

Befehle

Prozess oder Task

Page 4: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 5: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 6: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 7: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozessmodell mit zwei Zuständen

• Ein Prozess kann einem von zwei möglichen Zuständen annehmen– Aktiv (Running)– Nicht aktive (Not-running)

Page 8: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozesse, die nicht laufen in einer Warteschlange

Page 9: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozesse

• Nicht aktiv (bereit)– kann ausgeführt werden

• Blockiert– wartet auf E/A

• Bei der Verwendung einer einzigen Warteschlange kann der Dispatcher nicht einfach den Prozess auswählen, der am längsten gewartet hat, dieser Prozess ist vielleicht blockiert.

Page 10: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozessmodell mit fünf Zuständen

• Aktiv (running)

• Bereit (ready)

• Blockiert (blocked)

• Neu (new)

• Terminiert (exit)

Page 11: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 12: Beschreibung und Verwaltung von Prozesse Kapitel 3

Zwei Warteschlangen

Page 13: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 14: Beschreibung und Verwaltung von Prozesse Kapitel 3

Suspendierte Prozesse

• Ist der Prozessor schneller als die E/A so ist es wahrscheinlich, dass alle Prozesse im Speicher auf eine E/A warten

• Verschiebe diese Prozesse auf die Festplatte (Swapping)

• Ein blockierter Zustand wird dann ein suspendierter Zustand

• Zwei neue Zustände– Blockiert/Suspendiert (Blocked, suspend)– Bereit/Suspendiert (Ready, suspend)

Page 15: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozesszustandsübergangsdiagramm mit zwei suspendierten Zuständen

Page 16: Beschreibung und Verwaltung von Prozesse Kapitel 3

Gründe für die Prozesssuspendierung

Page 17: Beschreibung und Verwaltung von Prozesse Kapitel 3

Steuerungsstrukturen des Betriebssystems

• Wenn das Betriebssystem Prozesse und Ressourcen verwalten soll, dann benötigt es Informationen über den aktuellen Zustand der einzelnen Prozesse und Ressourcen

• Das Betriebssystem erstellt und pflegt Informationstabellen für jede Einheit die es verwaltet

Page 18: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 19: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 20: Beschreibung und Verwaltung von Prozesse Kapitel 3

Ausführungsmodi

• Benutzermodus– Weniger privilegierter Modus– Benutzerprogramme werden in der

Regel in diesem Modus ausgeführt

• Systemmodus, Steuermodus, oder Kernel-Modus– Mehr privilegierter Modus– Kernel des Betriebssystems

Page 21: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozesserzeugung

• Zuweisung einer eindeutigen Prozesskennung

• Zuweisung von Speicherplatz für den Prozess• Initialisierung des Prozesskontrollblocks• Integration in dynamische Datenstrukturen

– z.B.: in der Liste für den Zustand Bereit einfügen

• Erzeugung oder Erweiterung anderer Datenstrukturen– z.B.: eine Abrechnungsdatei unterhalten

Page 22: Beschreibung und Verwaltung von Prozesse Kapitel 3

Wann ein Prozesswechsel erfolgen soll

• Zeit-Interrupt– Der Prozess hat die Dauer der maximal

zulässigen Zeitscheibe ausgeführt – E/A-Interrupt

• Speicherfehler– Der Prozessor referenziert mit einer

Adresse des virtuellen Speicher ein Wort, das sich nicht im Hauptspeicher befindet.

Page 23: Beschreibung und Verwaltung von Prozesse Kapitel 3

Wann ein Prozesswechsel erfolgen soll

• Trap– ein Fehler- oder Ausnahmezustand ist

aufgetreten– der gerade aktive Prozess kann in den

Zustand „Terminiert“ versetzt werden

• Supervisor-Aufruf– wie z.B. das öffnen einer Datei

(Benutzermodus ---> Kernel-Modus)

Page 24: Beschreibung und Verwaltung von Prozesse Kapitel 3

Moduswechsel

• Speichern des Prozessorkontexts mit Programmzahler und anderen Registern

• Aktualisierung des Prozesskontrollblocks des Prozesses, der sich gerade im Zustand »aktiv« befindet

• Verschieben des Prozesskontrollblocks des betroffenen Prozesses in die entsprechende Warteschlange (bereit, blockiert)

• Auswahl eines anderen Prozesses für die Ausführung

Page 25: Beschreibung und Verwaltung von Prozesse Kapitel 3

Moduswechsel

• Aktualisierung des Prozesskontrollblocks des ausgewählten Prozesses

• Aktualisierung der Speicherverwaltungs-strukturen

• Wiederherstellung des Prozessorkontextes wie er zu dem Zeitpunkt bestand, an dem der ausgewählte Prozess zuletzt den Zustand »aktiv« verlassen hat

Page 26: Beschreibung und Verwaltung von Prozesse Kapitel 3

Ausführung des Betriebssystems

Linux

Win2000/XP

Unix

Geekos

Page 27: Beschreibung und Verwaltung von Prozesse Kapitel 3

Ausführung des Betriebssystems

• Kernel ohne Prozesse– Ausführung des Kernels außerhalb der Prozesse– Das Betriebssystem hat einen eigenen

Speicherbereich und einen eigenen Systemstapel

• Ausführung innerhalb von Benutzerprozessen– Ausführung der Betriebssystemsoftware im

Kontext eines Benutzerprozesses. – Der Prozess wird im privilegierten Modus

ausgeführt, es findet keinen Prozesswechsel statt, sondern lediglich ein Moduswechsel innerhalb desselben Prozesses

Page 28: Beschreibung und Verwaltung von Prozesse Kapitel 3
Page 29: Beschreibung und Verwaltung von Prozesse Kapitel 3

Ausführung des Betriebssystems

• Prozessbasiertes Betriebssystem– wichtige Kernel-Funktionen sind in

Form von separaten Prozessen realisiert

– Nützlich in einer Mehrprozessor- oder Mehrrechnerumgebung

Page 30: Beschreibung und Verwaltung von Prozesse Kapitel 3

Prozessorverwaltung in UNIX SVR4

– Ausführung der Betriebssystemsoftware im Kontext eines Benutzerprozesses.