23
Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07 3.2 Prozessbeschreibung 3.2.2 Prozesskontrollstruktur 3.3 Prozesssteuerung 3.3.1 Prozesserzeugung 3.3.2 Prozesswechsel 3.3.3 Ausführung des Betriebssystems 3.4 Prozessverwaltung in UNIX SVR4 3.4.1 Prozesszustände 3.4.2 Prozessbeschreibung 3.4.3 Prozesssteuerung

Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

  • Upload
    zared

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07. 3.2 Prozessbeschreibung 3.2.2 Prozesskontrollstruktur 3.3 Prozesssteuerung 3.3.1 Prozesserzeugung 3.3.2 Prozesswechsel 3.3.3 Ausführung des Betriebssystems 3.4 Prozessverwaltung in UNIX SVR4 3.4.1 Prozesszustände - PowerPoint PPT Presentation

Citation preview

Page 1: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.2 Prozessbeschreibung

3.2.2 Prozesskontrollstruktur

3.3 Prozesssteuerung

3.3.1 Prozesserzeugung

3.3.2 Prozesswechsel

3.3.3 Ausführung des Betriebssystems

3.4 Prozessverwaltung in UNIX SVR4

3.4.1 Prozesszustände

3.4.2 Prozessbeschreibung

3.4.3 Prozesssteuerung

Page 2: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.2 Prozessbeschreibung

3.2.2 Prozesskontrollstruktur

Page 3: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.2.2 Prozesskontrollstruktur

Das Betriebssystem muss erstens wissen wo sich der Prozess befindet und zweitens die Attribute des Prozesses, die für die Verwaltung des Prozesses wichtig sind.(z.B. Prozesskennung, Prozesszustand, Speicherort).

Page 4: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

ProzessspeicherortDer Speicherort eines Prozessabbildes hängt vom verwendeten Speicherverwaltungsverfahren ab.

Im einfachstem Fall wird das Prozessabbild in Form eines zusammenhängenden, fortlaufendem Speicherblocks unterhalten.

DIESER BLOCK wird im Sekundärspeicher, z.B. eine Festplatte, vorgehalten. Damit das Betriebssystem den Prozess verwalten kann, muss ein kleiner Teil des Prozessabbildes in den Hauptspeicher geladen werden. Das Betriebssystem MUSS also wissen, wo sich diese Prozesse befinden.

Dies weiß das Betriebssystem mithilfe der Prozesstabelle.

Prozesstabelle: In ihr sind die Speicherortinformationen für JEDEN Prozess enthalten. Welche mit einem ZEIGER auf den jeweiligen Prozess im Haupt-/ Sekundärspeicher zeigt.

Page 5: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

Prozessattribute

Ein komplexes Betriebssystem benötigt zahlreiche Informationen über jeden einzelnen Prozess.

Diese Informationen liegen in Form von Kontrollblocks vor.

Page 6: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

Der Prozesskontrollblock

Elemente eines Prozesskontrollblocks

-Prozessidentifikationen

-Prozessorstatusinformationen

-Prozesskontrollinformationen

Page 7: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

Prozessidentifikation KENNUNG

Numerische Kennung, die zusammen mit

dem Prozesskontrollblock

abgespeichert werden beinhalten:

- die Kennung des Prozesses

- die Kennung des Prozesses, der diesen

Prozess erzeugt hat

- die Benutzerkennung

Page 8: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

Prozessorstatusinformation 1)Für den Benutzer sichtbare Register

Sind Register, auf das mit Hilfe von Maschinensprache, die der Prozessor ausführt, Bezug genommen werden kann.

2)Steuer- und Statusregister

- Programmzähler - Zustandcodes - Statusinformationen

3)Stapelzeiger

Ein Stapel wird für die Speicherung von Parametern und Aufrufadressen für Prozeduren und Systemaufrufe verwendet. Der Stapelzeiger zeigt auf das oberste Element des Stapels.

Page 9: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

Prozesskontrollinformationen 1)Scheduling und Zustandsinformationen

- Prozesszustand

- Priorität

- Ablaufplanungsrelevante Informationen

- Ergebnis

2)Datenstrukturierung

3)Interprozesskommunikation

4)Prozessprivilegien

5)Speicherverwaltung

6)Ressourcenbesitz und Ressourcennutzung

Page 10: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

RegisterbitsID = Identifikations-Flag RF = Richtungs-Flag

VIF = Virtuelles Interrupt-Flag IF = Interrupt-Freischaltungs-Flag

AP = Anordnungsprüfung TF = Trap-Flag

EAPE = E/ A-Privilegienebene NF = Null-Flag

ÜLF = Überlauf-Flag PF = Paritäts-Flag

VT = Verschachteltes task-Flag VM = Virtueller 8086er Modus

Steuerungsbits: ID, RF, EAPE

Betriebsmodusbits: VT, VM, VIF

Zustandcodes: ÜLF, PF, NF

Page 11: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.3 Prozesssteuerung -Ausführungsmodi

3.3.1 Prozesserzeugung

3.3.2 Prozesswechsel

3.3.3 Ausführung des Betriebssystems

Page 12: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

AusführungsmodiDie meisten Prozessoren unterstützen min. zwei Ausführungsmodi. Bestimmte Befehle können nur im privilegierteren Modus ausgeführt werden. Darunter fällt das Lesen oder Verändern eines Steuerregisters wie z.B. des Programmstatusworts, primitive E/A-Befehle und Befehle, die die Speicherverwaltung betreffen. Darüber hinaus kann auf bestimmte Speicherbereiche nur im privilegierteren Modus zugegriffen werden. Der weniger privilegierte Modus wird häufig als Benutzermodus bezeichnet, da in der Regel Benutzerprogrsmme in diesem Modus ausgeführt werden. Der privilegiertere Modus wird als Systemmodus, Steuermodus oder Kernel-Modus bezeichnet. Die letzte Benennung bezieht sich auf den Kernel des Betriebssystems, also den Teil des Betriebssystems, der die wichtigen Systemfunktionen enthält.

Der Grund für die Verwendung zweier Modi sollte klar sein. Das Betriebssystem und wichtige Betriebssystemtabellen wie Prozesskontrollblöcke müssen vor dem Eingriff durch Benutzerprogramme geschützt werden. Im Kernel-Modus hat die Software die vollständige Kontrolle über den Prozessor und alle seine Befehle, Register und den Speicher. Für Benutzerprogramme ist dieser Grad an Kontrolle nicht notwendig und aus Sicherheitsgründen auch nicht erwünscht.

Page 13: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.3.1 Prozesserzeugung

1. Zuweisung einer eindeutigen Prozesskennung zum neuen Prozess

2. Zuteilung von Speicherplatz für den Prozess

3. Initialisierung des Prozesskontrollblocks

4. Integration in dynamische Datenstrukturen

5. Erzeugung oder Erweiterung anderer Datenstrukturen

Page 14: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.3.2 Prozesswechsel

A) Wann ein Prozesswechsel erfolgen soll? -Zeitinterrupt -E/A-Interrupt -Speicherfehler

B) Moduswechsel -Prozessor speichert Kontext -Prozessor setzt den Programmzähler auf Startadresse -Prozessor schaltet von Benutzermodus auf Kernelmodus

C) Änderung des Prozesszustands -Schritte für Prozessorwechsel

Page 15: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.3.3 Ausführung des Betriebssystems

•Kernel ohne Prozesse

•Ausführung innerhalb von Benutzerprozessen

•Prozessbasiertes Betriebssystem

Page 16: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.4 Prozessverwaltung in UNIX

3.4.1 Prozesszustände

3.4.2 Prozessbeschreibung

3.4.3 Prozesssteuerung

Page 17: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.4.1 Prozesszustände

In UNIX gibt es zwei aktive Zustände, um anzuzeigen, ob ein Prozess im Benutzermodus oder im Kernelmodus ausgeführt wird.

Es wird zwischen den beiden Zuständen BEREIT und VERDRÄNGT im Speicher unterschieden. Es handelt sich im wesentlichen um die gleichen Zustände, was durch die gestrichelte Linie, durch die Sie verbunden sind, angezeigt wird. Die Unterscheidung soll die Art und Weise betonen, in der der verdrängte Zustand eingenommen wird.

Page 18: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.4.2 Prozessbeschreibung

  Benutzerebenenkontext

Prozesstext Ausführbare Maschinenbefehle des Programms

ProzessdatenDaten, auf die durch ein Programm dieses Prozessses zugegriffen werden kann

BenutzerstapelEnthält Argumente, lokale Variablen und Zeiger für Funktionen, die im Benutzermodus ausgeführt werden

Gemeinsam genutzter Speicher

Speicher, der gemeinsam mit anderen Prozessen genutzt wird. Wird für die Interprozesskommunikation verwendet

Page 19: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.4.2 Prozessbeschreibung

  Registerkontext

Programmzähler

Adresse des als Nächstes auszuführenden Befehls.Kann sich im Kernel- oder Benutzerspeicherraum des Prozesses befinden

Prozessorstatusregister

Enthält den Hardwarestatus zum Zeitpunkt der Verdrängung.Inhalte und Format sind abhängig von der Hardware.

StapelzeigerZeigt abhängig vom Betriebsmodus zum Zeitpunkt der Verdrängung auf das obere Ende des Kernel- oder Benutzerstapels.

Register für allgemeine Zwecke Abhängig von der Hardware

Page 20: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.4.2 Prozessbeschreibung

  Systemebenenkontext

Prozesstabelleneintrag

Legt den Status eines Prozesses fest. Das Betriebssystem kann jederzeit auf diese Informationen zugreifen.

Benutzerbereich

Prozesskontrollinformationen, auf die nur im Kontext des Prozesses zugegriffen werden muss.

Prozessbereichstabelle

Legt die Zuordnung von virtuellen zu physikalischen Adressen fest. Enthält außerdem ein Ereignisfeld, das den für den Prozess zulässigen Zugriffstyp anzeigt: nur Lesen, Lesen und Schreiben oder Lesen und Ausführen.

Kerne-Stapel

Enthält den Stapelrahmen von Kernel-Prozeduren, wenn der Prozess im Kernel-Modus läuft.

Page 21: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

3.4.3 ProzesssteuerungWenn eine Fork-Anforderung ausgegeben wird führt das Betriebssystem folgende Schritte aus:

1)Es teilt dem Prozessor einen Abschnitt in der Prozesstabelle zu

2)Es weist dem Kindprozess eine eindeutige Prozesskennung zu

3)Es erstellt mit Ausnahme des gemeinsam genutzten Speichers eine Kopie des Elternprozessabbilds

4)Es erhöht die Zählerwerte von Dateien

5)Es weißt dem Kindprozess einen bereiten Zustand zu

6)Es übergibt die Kennzahl des Kindprozesses an den Elternprozess und einen 0-Wert an den Kindprozess

Page 22: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

FRAGEN1)Welche Elemente des Kontrollblocks gibt es? -Prozessidentifikation -Prozessorstatusinformationen -Prozesskontrollinformationen

2)Welche Mechanismen gibt es für die Unterbrechung der Ausführung eines Prozesses? -Interrupt -Trap -Supervisor-Aufruf

3)Nenne mindestens 3 Registerbits. -Trap-Flag -Überlauf-Flag -Null-Flag -Paritäts-Flag -Richtungs-Flag

Page 23: Vortrag von Christoph KREN u. Michael BISCHL am 28.9.07

FRAGEN4)Was muss ein Betriebssystem alles über einen Prozess wissen? -Lageort des Prozesses -Attribute des Prozesses

5)Wo stehen die Attribute eines Prozesses? Im Prozesskontrollblock.

6)Welche Elemente des Prozesskontrollblocks gibt es? -Prozessindentifikation -Prozessorstatusinformationen -Prozesskontrollinformationen