# Kontext- und Moduswechsel a) Manche Betriebssysteme teilen ihren Betrieb in zwei Modi, den Systemmodus (für dem Betriebssystem zugeordnete Funktionen) und den Nutzermodus. *Moduswechsel* bezieht sich hierrauf. b) i) Sicherung des Prozesskontexts ii) Wechsel des Modus (z.B. Freigabe von privilegien) iii) Sprung c) Der Wechsel von einem Prozess zu einem anderen (u.a. auch zu einer Routine zur Unterbrechungsbehandlung) d) i) Sicherung des alten Prozesskontexts ii) Einfügen des Prozesskontexts in die Warteschlange des Schedulers (*ready*) iii) Auswählen des neuen Prozesskontexts iv) Laden des neuen Prozesskontexts e) Der Anzahl der zu sichernden Register ­ der Hauptaufwand ist das verschieben der Registerinhalte auf den Stack. f) i) Aufruf einer E/A-Methode des Betriebssystems (z.B. *open*) ii) Eintreffen einer E/A-Unterbrechung (z.B. der Bytestream von der Festplatte in Antwort auf *read*) iii) Eintreffen einer E/A-Unterbrechung für einen Prozess, der sich nicht unmittelbar vor dem Eintreffen in Ausführung befand g) Es ist nahezu sicher, dass zu einem späteren Zeitpunkt auch die weiteren Register genutzt werden sollen und die Änderung bis zu diesem Zeitpunkt vergessen wurde. # Prozesse a) Bit-Tabelle b) Seitenrahmen c) Kernel mode d) Kontext-Switch e) Swapping