so, ich schon wieder
mein nächstes verständnisproblem scheint wohl beim S2PL zu liegen. so wie ich das verstanden habe, darf ein prozess zunächst beliebige sperren erhalten. sobald er eine lesesperre wieder freigibt, darf er keine weiteren sperren mehr erhalten. die schreibsperren muss er bis zu seinem commit behalten.
betrachten wir nun folgenden schedule (verkürzt aus aufgabe 9.4):
w1(x) r2(x) w1(y) c1 c2
1 muss ja ganz zu anfang eine schreibsperre auf x bekommen. im nächsten schritt benötigt aber 2 eine lesesperre hierauf. diese kann 2 aber erst bekommen, wenn 1 seine schreibsperre wieder abgibt. 1 gibt die schreibsperre aber erst beim c1 wieder ab. also müsste der S2PL hier ein problem haben.
laut korrektur "geht es" aber (mit smiley)
kann mir jemand sagen, wo mein denkfehler ist?