3.2 Prozessverwaltung

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:
</p>
</p>


<p>
<br />
<br />
==== Definition: Prozesskontext ====
==== Definition: Prozesskontext ====
<p>
{{#index:Prozesskontext|Kontext, Prozess}}
{{#index:Prozesskontext|Kontext, Prozess}}
<loop_area type="definition">
<loop_area type="definition">
Zeile 41: Zeile 41:
</p>
</p>


<p>
<br />
<br />
==== Definition: Kontextwechsel ====
==== Definition: Kontextwechsel ====
<p>
{{#index:Kontextwechsel|CPU, Kontextwechsel}}
{{#index:Kontextwechsel|CPU, Kontextwechsel}}
<loop_area type="definition">
<loop_area type="definition">
Zeile 68: Zeile 67:
</p>
</p>


<p>
<br />
<br />
==== Aufgabe 1 ====
==== Aufgabe 1 ====
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="">
<loop_task title="Sind Kontextwechsel positiv oder negativ?">
<p>
<p>
Diskutiere in deiner Lerngruppe:
Diskutiere in deiner Lerngruppe:
* Ist die in einen (bzw. mehrere) Kontextwechsel investierte Zeit positiv oder negativ im Hinblick auf die Bedürfnisse eines Anwenders?<br />
</p>
* Gibt es verschiedene "Arten von Anwendern", die hier berücksichtigt werden sollten?<br />
<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 Arten fallen dir ein?
** Welche positiven bzw. negativen Aspekte sind für die einzelnen Anwenderarten zu unterscheiden?
** Welche positiven bzw. negativen Aspekte sind für die einzelnen Anwenderarten zu unterscheiden?
Zeile 85: Zeile 88:


<br />
<br />
==== So geht es weiter: ====
==== So geht es weiter: ====
<p>
<p>

Version vom 15. Oktober 2013, 13:36 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.


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.


Definition: Kontextwechsel

{{#index:Kontextwechsel|CPU, Kontextwechsel}}

Definition

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.

Diese Tätigkeiten werden vom Steuerwerk der CPU in Zusammenarbeit mit dem Betriebssystem durchgeführt.

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.

Es ist leicht verständlich, dass jeder Kontextwechsel eine gewisse Zeit für seine Durchführung beansprucht.


Aufgabe 1

Aufgabe

Diskutiere in deiner Lerngruppe:

  • Ist die in einen (bzw. mehrere) Kontextwechsel investierte Zeit positiv oder negativ im Hinblick auf die Bedürfnisse eines Anwenders an das Gesamtsystem?

  • 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?


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