234
4 Systemsoftware
• Prioritätsvererbung ist transitiv: wenn J x Job J y blockiert und J y Job J z blockiert,
dann erbt J x die Priorität von J z .
Wenn Jobs einer hohen Priorität durch Jobs mit einer niedrigen Priorität blockiert
werden, dann geben sie ihre Priorität an die Jobs der niedrigen Priorität weiter,
sodass diese ihre Semaphore so schnell wie möglich freigeben können. Im Beispiel
von Abb. 4.6 würde J 3 die Priorität von J 1 erben, sobald J 1 P(S) ausführt. Dies würde
das genannte Problem vermeiden, da J 2 nun J 3 nicht verdrängen würde (siehe Abb.
4.7).
t
1
2
3
J
J
J
P(S) [blockiert]
fortfahren
kritischer Abschnitt
normale Ausführung
V(S)
P(S)
V(S)
Abb. 4.7 Prioritätsvererbung für das Beispiel von Abb. 4.6
Abb. 4.8 zeigt ein Beispiel für verschachtelte kritische Abschnitte [81]. Beachten
Sie, dass die Priorität von Job J 3 zum Zeitpunkt t 0 nicht auf ihren ursprünglichen
Wert zurückgesetzt wird. Stattdessen wird seine Priorität auf den niedrigsten Wert
der von ihm blockierten Jobs gesetzt, in diesem Fall die Priorität p 1 von J 1 .
von
Priorität
Priorität ändert sich nicht
3
J
J
J
T 3
p
p
p
t
t 0
3
2
1
2
1
a
V(a)
V(b)
V(b)
V(a)
a
b
b
b
P(a)
P(b)
P(b)
P(a)
b
a
Abb. 4.8 Verschachtelte kritische Abschnitte
Die Transitivität der Prioritätsvererbung ist in Abb. 4.9 dargestellt [81]. Zum
Zeitpunkt t 0 wird J 1 von J 2 blockiert, der wiederum von J 3 blockiert wird. Daher
erbt J 3 die Priorität p 1 von J 1 .
4 Systemsoftware
• Prioritätsvererbung ist transitiv: wenn J x Job J y blockiert und J y Job J z blockiert,
dann erbt J x die Priorität von J z .
Wenn Jobs einer hohen Priorität durch Jobs mit einer niedrigen Priorität blockiert
werden, dann geben sie ihre Priorität an die Jobs der niedrigen Priorität weiter,
sodass diese ihre Semaphore so schnell wie möglich freigeben können. Im Beispiel
von Abb. 4.6 würde J 3 die Priorität von J 1 erben, sobald J 1 P(S) ausführt. Dies würde
das genannte Problem vermeiden, da J 2 nun J 3 nicht verdrängen würde (siehe Abb.
4.7).
t
1
2
3
J
J
J
P(S) [blockiert]
fortfahren
kritischer Abschnitt
normale Ausführung
V(S)
P(S)
V(S)
Abb. 4.7 Prioritätsvererbung für das Beispiel von Abb. 4.6
Abb. 4.8 zeigt ein Beispiel für verschachtelte kritische Abschnitte [81]. Beachten
Sie, dass die Priorität von Job J 3 zum Zeitpunkt t 0 nicht auf ihren ursprünglichen
Wert zurückgesetzt wird. Stattdessen wird seine Priorität auf den niedrigsten Wert
der von ihm blockierten Jobs gesetzt, in diesem Fall die Priorität p 1 von J 1 .
von
Priorität
Priorität ändert sich nicht
3
J
J
J
T 3
p
p
p
t
t 0
3
2
1
2
1
a
V(a)
V(b)
V(b)
V(a)
a
b
b
b
P(a)
P(b)
P(b)
P(a)
b
a
Abb. 4.8 Verschachtelte kritische Abschnitte
Die Transitivität der Prioritätsvererbung ist in Abb. 4.9 dargestellt [81]. Zum
Zeitpunkt t 0 wird J 1 von J 2 blockiert, der wiederum von J 3 blockiert wird. Daher
erbt J 3 die Priorität p 1 von J 1 .
