Prozesskontext & Kontextwechsel
Prozesskontext & Kontextwechsel
Der Prozesskontext ist die Umgebung, in der ein laufender Prozess abgearbeitet wird. Der Wechsel von einem laufenden Prozess zum nächsten ist ein Kontextwechsel: Register sichern (in den PCB) und neue laden.
Prozesskontext
Der Kontext wird unterteilt in (→ Kernel- und User-Modus):
- User Context / User Mode — die normale Umgebung für Anwendungen.
- Kernel Context / Kernel Mode — für privilegierte Aktionen; höhere Berechtigungen. Der Übergang geschieht über System Calls. Mitunter gibt es weitere Kontexte (z.B. im Interrupt-Handler).
Der Kontext differenziert damit den Zustand running aus dem Prozess-Zustandsmodell.
Der Kontextwechsel — Schritt für Schritt
Warum ist das teuer?
Ein Kontextwechsel ist reiner Overhead — währenddessen rechnet kein Nutzprogramm. Er wird typischerweise durch den Timer-Interrupt angestoßen (Interrupts & Exceptions) und ist der Preis für Multitasking. Beim Wechsel zwischen Threads desselben Prozesses ist er günstiger, weil der gemeinsame Adressraum erhalten bleibt (kein Adressraum-Wechsel).
Verwandte Notes
Prozess-Zustandsmodell · Prozessverwaltung & PCB · Kernel- und User-Modus · Interrupts & Exceptions · Scheduling-Grundlagen