3.2 Prozessverwaltung

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 34: Zeile 34:
* Die Belegung des Caches mit Befehlen und Daten des Prozesses.
* Die Belegung des Caches mit Befehlen und Daten des Prozesses.
* Die Belegung des Hauptspeichers mit Programmtext und Daten des Prozesses.
* Die Belegung des Hauptspeichers mit Programmtext und Daten des Prozesses.
</p>
<br />
<p>
Aus dem Kapitel [[Quasi-gleichzeitige Ausführung mehrerer Prozesse]] ist bereits bekannt, dass mehrere Prozesse sich bei ihrer Abarbeitung auf der CPU abwechseln können. Man spricht in diesem Zusammenhang von Kontextwechseln, die auf der CPU stattfinden.
</p>
<br />
==== Definition: Kontextwechsel ====
<p>
{{#index:Kontextwechsel|CPU, Kontextwechsel}}
<loop_area type="definition">
<p>
Unter einem '''Kontextwechsel''' auf der CPU versteht man alle erforderlichen Tätigkeiten, um einen gerade auf der CPU aktiven Prozess A, durch einen anderen Prozess B zu ersetzen.
</p>
</loop_area>
</p>
<p>
Diese Tätigkeiten werden vom Steuerwerk der CPU in Zusammenarbeit mit dem Betriebssystem durchgeführt.
</p>
<p>
Zu den erforderlichen Tätigkeiten gehören unter anderem:
* Sichere alle notwendigen Registerinformationen des scheidenden Prozesses A an einer bekannten Stelle (damit sie von dort später wiederhergestellt werden können).
* Lade alle notwendigen Registerinformationen des neuen Prozesses B in die entsprechenden Register auf der CPU.
* Lade alle notwendigen Befehle und Daten des neuen Prozesses B in den Cache.
</p>
<p>
Es ist leicht verständlich, dass jeder Kontextwechsel eine gewisse Zeit für seine Durchführung beansprucht.
</p>
<br />
==== Aufgabe 1 ====
<p>
<loop_area type="task">
<loop_task title="Sind Kontextwechsel positiv oder negativ?">
<p>
Diskutiere in deiner Lerngruppe:
</p>
<p>
* Ist die in einen (bzw. mehrere) Kontextwechsel investierte Zeit positiv oder negativ im Hinblick auf die Bedürfnisse eines Anwenders an das Gesamtsystem?
</p>
<p>
* Gibt es verschiedene "Arten von Anwendern", die hier berücksichtigt werden sollten?
** Welche Arten fallen dir ein?
** Welche positiven bzw. negativen Aspekte sind für die einzelnen Anwenderarten zu unterscheiden?
</p>
</loop_task>
</loop_area>
</p>
</p>



Version vom 15. Oktober 2013, 13:42 Uhr

Prozess ist der wohl zentralste Begriff beim Thema Betriebssysteme. Es wird daher die folgende aus dem Kapitel Vom Programm zum Prozess bereits bekannte Definition noch einmal wiederholt:


Definition: Prozess

{{#index:Prozess|Programm in Ausführung}}

Definition

Ein Prozess ist ein Programm in Ausführung.

Es folgen eine Reihe weiterer grundlegender Definitionen.


Definition: Prozesskontext

{{#index:Prozesskontext|Kontext, Prozess}}

Definition

Unter dem Prozesskontext oder Kontext eines Prozesses versteht man die Gesamtheit aller Informationen, die der betreffende Prozess während seiner Ausführung auf der CPU benötigt.

Zum Kontext eines Prozesses gehören damit unter anderem:

  • Die Werte in den betreffenden Registern der CPU (Program Counter, Instruction Register, Stack Register, Flags, etc.).
  • Die Belegung des Caches mit Befehlen und Daten des Prozesses.
  • Die Belegung des Hauptspeichers mit Programmtext und Daten des Prozesses.


So geht es weiter:



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png