Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Beschreibung und Verwaltung von Prozesse

Ähnliche Präsentationen


Präsentation zum Thema: "Beschreibung und Verwaltung von Prozesse"—  Präsentation transkript:

1 Beschreibung und Verwaltung von Prozesse
Kapitel 3

2 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

3 Prozess Prozess oder Task Ausführung eines einzelnen Programms
Kann aufgelistet (traced) werden Eine Trace ist eine Auflistung der Befehle

4

5

6

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

8 Prozesse, die nicht laufen in einer Warteschlange

9 Erzeugung von Prozesse
Gründe für die Prozesserzeugung Als Reaktion auf die Einreichung eines Jobs Wenn ein Benutzer versucht, sich anzumelden Ein Prozess kann erzeugt werden, der das Drucken regelt Ein Prozess erzeugt ein anderer Prozess

10 Prozessterminierung Ein Batchjob gibt einen Stoppbefehl (Halt) ab
Der Benutzer meldet sich ab Eine Anwendung wird beendet Fehlerbedingungen können zur Terminierung eines Prozesses führen

11 Gründe für die Terminierung von Prozessen
Normale Beendigung Überschreitung des Zeitlimits Nicht genügend Speicher verfügbar Verletzung von Begrenzungen Schutzfehler z.B. durch den Versuch, eine schreibgeschützte Datei zu überschreiben Arithmetische Fehler Zeitüberschreitung Der Prozess hat länger als einen festgelegten Maximalwert darauf gewartet, dass ein bestimmtes Ereignis eintritt

12 Gründe für die Terminierung von Prozessen
E/A-Fehler Ungültiger Befehl versucht einen nicht existierenden Befehl auszuführen Privilegierter Befehl Falsche Benutzung von Daten Intervention des Bedieners oder des Betriebssystem z.B. wenn eine Verklemmung vorliegt

13 Gründe für die Terminierung von Prozessen
Terminierung eines Elternprozesses, dann kann das Betriebssystem automatisch alle Kindprozesse des betreffenden Elternprozess terminieren. Anforderung durch einen Elternprozess

14 Prozesse Nicht aktiv (bereit) Blockiert
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.

15 Prozessmodell mit fünf Zuständen
Aktiv (running) Bereit (ready) Blockiert (blocked) Neu (new) Terminiert (exit)

16

17

18 Zwei Warteschlangen

19

20 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)

21 Prozesszustandsübergangsdiagramm mit einem suspendierten Zustand

22 Prozesszustandsübergangsdiagramm mit zwei suspendierten Zuständen

23 Gründe für die Prozesssuspendierung

24 Prozesse und Ressource
(Ressourcenzuteilung als Momentaufnahme)

25 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

26 Speichertabellen Die Zuteilung von Hauptspeicher zu Prozessen
Die Zuteilung von Sekundärspeicher zu Prozessen Schutzattribute von gemeinsam genutzten Speicherregionen Information für die Verwaltung des Virtuellen Speichers

27 E/A-Tabellen Ein E/A-Gerät ist entweder verfügbar oder einem bestimmten Prozess zugeteilt Status der E/A-Operation Die Stelle im Hauptspeicher die als Quelle oder Ziel für die E/A-Übertragung dient

28 Dateitabellen Existenz von Dateien
Ihren Speicherort im Sekundärspeicher deren aktuellen Status andere Attribute Manchmal durch ein Dateiverwaltungssystem unterhalten, in diesem Fall hat das Betriebssystem keine Kenntnisse über die Dateien

29 Prozesstabellen Wo der Prozess sich befindet
Attribute des Prozesses, die für die Verwaltung des Prozesses wichtig sind Prozesskennung Prozesszustand Speicherort

30 Prozessspeicherort Ein Prozess muss ein oder mehrere Programme enthalten, die ausgeführt werden sollen, und im Zusammenhang damit Datenorten für lokale und globale Variablen Definierte Konstanten Stapel Prozesskontrollblock (PCB) eine Reihe von Prozessattributen Prozessabbild Sammlung der Programme, Daten, Stapel, und Attributen

31

32

33 Prozesskontrollblock
Prozessidentifikation Kennungen Numerische Kennungen, die zusammen mit dem Prozesskontrollblock abgespeichert werden beinhalten: Die Kennung des Prozesses Die Kennung des Eltern Prozesses Die Benutzerkennung

34 Prozesskontrollblock
Prozessorstatusinformationen Für den Benutzer sichtbare Register Ein für den Benutzer sichtbares Register ist ein Register, auf das mit Hilfe der Maschin- ensprache, die der Prozessor ausführt, Bezug genommen werden kann. In der Regel gibt es zwischen acht und 32 dieser Register, obwohl einige RISC- lmplementierungen mehr als 100 dieser Register aufweisen können.

35 Prozesskontrollblock
Prozessorstatusinformationen Steuer- und Statusregister Es gibt eine Vielzahl von Prozessorregistern, die für die Steuerung des Prozessorbetriebs eingesetzt werden: Programmzähler: Enthält die Adresse des nächsten abzurufenden Befehls Zustandscodes: Ergebnis der letzten arithmetischen oder logischen Operation (z.B. Vorzeichen, null, Übertrag, gleich, Überlauf) Statusinformationen: Beinhaltet Flags für die Freischaltung/Sperrung von Interrupts, Ausführungsmodus.

36 Prozesskontrollblock
Prozessorstatusinformationen Stapelzeiger Mit jedem Prozess hängen ein oder mehrere LIFO-Systemstapel (Last In First Out) zusammen. Ein Stapel wird für die Speicherung von Parametern und Aufruf- adressen für Prozeduren und Systemaufrufe verwendet. Der Stapelzeiger zeigt auf das oberste Element des Stapels.

37 Prozesskontrollblock
Prozesskontrollinformationen Scheduling und Zustandsinformationen Das Betriebssystem benötigt diese Informationen, um seine Ablaufplanungsfunktion ausüben zu können. Typische Informationselemente beinhalten: • Prozesszustand: Der Prozesszustand bestimmt, inwiefern ein Prozess bereit ist, für die Ausführung eingeplant zu werden (z.B. aktiv, bereit, wartend, gestoppt). • Priorität: Ein oder mehrere Felder können für die Beschreibung der Ablaufplanungspriorität des Prozesses verwendet werden. In einigen Systemen werden mehrere Werte benötigt (z.B. Vorgabewert, aktueller Weit, Maximalwert).

38 Prozesskontrollblock
Prozesskontrollinformationen Scheduling und Zustandsinformationen • Ablaufplanungsrelevante Informationen: Diese Informationen hängen vom verwendeten Scheduling-Verfahren ab, z.B. die Zeitdauer, die der Prozess gewartet hat, und die Zeitdauer, seit der Prozess zuletzt ausgeführt wurde. • Ereignis: Identität des Ereignisses, auf das der Prozess wartet, bevor er wieder aufgenommen werden kann.

39 Prozesskontrollblock
Prozesskontrollinformationen Datenstrukturierung Ein Prozess kann mit einem anderen Prozess in einer Warteschlange, einem Ring oder einer anderen Struktur verbunden sein. So können beispielsweise alle Prozesse, die auf eine bestimmte Prioritätsebene warten, in einer Warteschlange verkettet sein. Ein Prozess kann mit einem anderen Prozess in einer EItern-Kind- Beziehung (Erzeuger-Erzeugnis-Beziehung) stehen. Der Prozesskontrollblock kann Zeiger auf andere Prozesse enthalten, um diese Struktur zu unterstützen.

40 Prozesskontrollblock
Prozesskontrollinformationen Interprozesskommunikation Verschiedene Flags, Signale und Nachrichten können mit der Kommunikation zwischen zwei unabhängigen Prozessen in Zusammenhang stehen. Einige oder sämtliche dieser Informationen können im Prozesskontrollblock enthalten sein. Prozessprivilegien Prozessen werden Privilegien in Form von Speicherplatz, auf den zugegriffen werden kann, und in Form der Befehlsarten zugestanden, die ausgeführt werden können. Darüber hinaus können sich die Privilegien auch auf die Nutzung von Systemhilfsprogrammen und Diensten erstrecken.

41 Prozesskontrollblock
Prozesskontrollinformationen Speicherverwaltung Dieser Bereich beinhaltet Zeiger auf Segment- und/oder Seitentabellen, die den virtuellen Speicher beschreiben, der diesem Prozess zugeteilt wurde. Ressourcenbesitz und Ressourcennutzung Vom Prozess kontrollierte Ressourcen können, beispielsweise in Form von geöffneten Dateien, angezeigt werden. Darüber hinaus kann eine zeitliche Aufzeichnung der Nutzung des Prozessors oder anderer Ressourcen enthalten sein. Diese Informationen werden vom Scheduler benötigt.

42 Prozesskontrollinformationen
Inhalte der Prozessorregister für den Benutzer sichtbare Register Steuer- und Statusregister Stapelzeiger Programmstatuswort (PSW) enthält Zustandcodes Beispiel: das EFLAGS-Register auf Pentium-Rechnern

43 Pentium II EFLAGS-Register

44 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

45 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

46 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.

47 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)

48 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

49 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

50 Ausführung des Betriebssystems
Linux Geekos Unix Win2000/XP

51 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

52

53 Ausführung des Betriebssystems
Prozessbasiertes Betriebssystem wichtige Kernel-Funktionen sind in Form von separaten Prozessen realisiert Nützlich in einer Mehrprozessor- oder Mehrrechnerumgebung

54 Prozessorverwaltung in UNIX SVR4
Ausführung der Betriebssystemsoftware im Kontext eines Benutzerprozesses.

55 UNIX Processzustände

56


Herunterladen ppt "Beschreibung und Verwaltung von Prozesse"

Ähnliche Präsentationen


Google-Anzeigen