3.2.3 Kontextwechsel

[gesichtete Version][gesichtete Version]
Zeile 51: Zeile 51:
</loop_task>
</loop_task>
</loop_area>
</loop_area>
</p>
<br />
<p>
== So geht es weiter: ==
</p>
<p>
<loop_area type="arrangement"><loop_toc> </loop_toc></loop_area>
</p>
</p>



Version vom 22. Oktober 2014, 18:12 Uhr

Kontextwechsel

Zunächst die Definition:


Definition: Kontextwechsel

Definition

Unter einem Kontextwechsel (engl. context switch) oder genauer einem Prozess-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.


Erforderliche Tätigkeiten

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?



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