blob: 6b6ae187d8c1b1a30bb6f63fcfb162601988ec0d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# 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
|