Das Speichern und Wiederherstellen des CPU-Status (Kontext), damit mehrere Prozesse eine CPU-Ressource gemeinsam nutzen können. Der Kontextwechsel ist eine notwendige Bedingung eines Multitasking-Betriebssystems. Da die Kontextwechsel sehr rechenaufwändig sind, wird sehr viel Entwicklungsarbeit in die Optimierung dieses Vorgangs gesteckt.
Ein Kontextwechsel erfolgt normalerweise in folgenden Schritten:
- Stoppen des Prozesses. Die aktuelle Stelle im Programm wird im Programmzeiger festgehalten.
- Speichern der Kontextinformationen des ersten Prozesses im Arbeitsspeicher. Die Kontextinformationen umfassen u.a. die Werte der Register für den Programmzeiger, die Prozessorkontrolle und weitere übliche Register.
- Laden der Kontextinformationen des zweiten Prozesses aus dem Arbeitsspeicher.
- Der Programmzeiger zeigt auf die Stelle im Programm, wo die Bearbeitung abgebrochen wurde. Die Abarbeitung des neuen Prozesses an dieser Stelle fortführen.
Um diesen zeitaufwändigen Vorgang zu verhindern, besitzen einige CPUs die Möglichkeit mehrere Kontexte gleichzeitig in der CPU zu halten.