単一のCPUで、ある時点で複数の基本操作 (read, write) が同時には実行されないことを仮定する。次のスケジュールの中から競合直列可能スケジュールを選べ。
ここでRi(A)、Ri(B)はそれぞれトランザクションTi のデータ項目A、Bのreadを, Wi(A)、Wi(B) はそれぞれトランザクションTi
のデータ項目A、Bのwriteを表す。
@ R2(A);R1(B);W2(A);R2(B);R3(A);W1(B);W3(A);W2(B);R3(B);W3(B);
A R2(A);R1(B);W2(A);R3(A);W1(B);W3(A);R2(B);W2(B);R3(B);W3(B);
B R2(A);R1(B);W2(A);R3(A);W1(B):W3(A);R3(B):W3(B);R2(B);W2(B);
C R2(A);R1(B);W2(A);R3(A);R3(B);W3(B);W1(B);W3(A);R2(B);W2(B);
D R2(A);R1(B);R3(B);W3(B);W2(A);R3(A);W1(B);W3(A);R2(B);W2(B);
A
@ R1(B); R2(B); W1(B); W2(B);
で、データ項目Bについて、競合直列できない。
A 正しい。
R2(A);R1(B);W2(A);R3(A);W1(B);W3(A);R2(B);W2(B);R3(B);W3(B);
で、データA, Bそれぞれについて、競合直列が可能である。
B R3(B):W3(B);R2(B);W2(B);でトランザクションの番号が逆転している。
C R1(B); R3(B);W3(B);W1(B);
でデータ項目Bについて、競合直列できない。
D R1(B);R3(B);W3(B); W1(B)
でデータ項目Bについて、競合直列できない。
W−25 | 目次 | W−27 |