Nicht Konservativ ( / * ) | Konservativ ( | * ) |
|
---|---|---|
Nicht Strikt (* \ ) | / \ | | \ |
Strikt (* | ) | / | | | | |
Konsistenzstufe | Schreibsperre | Lesesperre |
---|---|---|
0 | kurz | - |
1 | lang | - |
2 | lang | kurz |
3 | lang | lang |
X | |
---|---|
X | ![]() |
R | X | |
---|---|---|
R | ![]() | ![]() |
X | ![]() | ![]() |
R | U | X | |
---|---|---|---|
R | ![]() | ![]() | ![]() |
U | ![]() | ![]() | ![]() |
X | ![]() | ![]() | ![]() |
Übergänge:
R | A | X | |
---|---|---|---|
R | ![]() | ![]() | ![]() |
A | ![]() | ![]() | ![]() |
X | ![]() | ![]() | ![]() |
Übergänge:
Auf oberer Ebene (Tabelle):
R | X | IR | IX | RIX | |
---|---|---|---|---|---|
R | ![]() | ![]() | ![]() | ![]() | ![]() |
X | ![]() | ![]() | ![]() | ![]() | ![]() |
IR | ![]() | ![]() | ![]() | ![]() | ![]() |
IX | ![]() | ![]() | ![]() | ![]() | ![]() |
RIX | ![]() | ![]() | ![]() | ![]() | ![]() |
Überprüfung auf unterer Ebene nötig |
---|
Auf unterer Ebene (Tupel): RX/RUX/RAX
R | A | C | |
---|---|---|---|
R | ![]() | ![]() | ![]() |
A | ![]() | ![]() | ![]() |
C | ![]() | ![]() | ![]() |
Übergänge:
Verfahren | Kein Verhungern | Deadlockfrei selbes Obj. | Deadlockfrei anderes Obj. | Schedule | Bemerkung |
---|---|---|---|---|---|
RX | ![]() | ![]() | ![]() | kaskadierte freies rücksetzen | Parallele Leser |
RUX | ![]() | ![]() | ![]() | Parallele Leser | |
RAX | ![]() | ![]() | ![]() | Zwar nach kein verklemmen, dafür verhungern für mehr Parallelität |
Können entweder
Ich → warte auf X
Jüngere TA hält Sperre | Ältere TA hält Sperre | |
---|---|---|
Wound-Wait | ⇒ ältere TA “verwundet” (Wound) jüngere TA; jüngere TA wird zurückgesetzt! | ⇒ jüngere TA “wartet” (Wait) |
Wait-Die | ⇒ ältere TA “wartet” (Wait) | ⇒ ältere TA “tötet” (Die) jüngere TA; jüngere TA wird zurückgesetzt! |
| Leser | älter als jüngster Schreiber | des Objekts ⇒ Leser zurücksetzen | $TS(T_i) < \text{writeTS}(O)$ |
Schreiber | älter als jüngster Schreiber oder Leser | des Objekts ⇒ Schreiber zurücksetzen | $TS(T_i) < \text{writeTS}(O) \vee TS(T_i) < \text{readTS}(O)$ |
Mein RS mit WS, beendeter TA (während meiner TA)
Bei Konflikt:
Mein RS mit WS, laufender TA
Bei Konflikt: