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
|
# 7-Zustands-Prozessmodell
a)
*running* → *ready, suspend*
~ Ein monitoring-Prozess wird beim Aufruf eines langen `sleep`s in den Hintergrundspeicher geschrieben um Hauptspeicher zu sparen.
*ready* → *ready, suspend*
~ Der selbe monitoring-Prozess, der sich in einem langen `sleep` befindet, wird in den Hintergrundspeicher geschrieben, da z.B. Hauptspeicher knapp wird.
*new* → *ready, suspend*
~ Prozess-Zugang bei knappem Hauptspeicher
*blocked* → *blocked, suspend*
~ Ein Prozess, der bereits länger *blocked* ist wird suspendiert um, erneut, Hauptspeicher zu sparen unter der Annahme, dass er noch länger *blocked* sein wird.
*blocked, suspend* → *ready, suspend*
~ Das E/A-Ereignis, auf das der Prozess gewartet hat, ist eingetreten.
b)
i) Falsch (es gibt *suspend* aber nicht *schedule*)
ii) Falsch (Timout ist *running* → *ready*)
iii) Wahr
iv) Wahr
v) Falsch (Kontext ist Teil vom Image)
# Prozesse
a) 64-Bit Register
b) *blocked*
c) *new* → *running*
d) *blocked, suspend*
e) Scheduler
|