単一の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);
② R2(A);R1(B);W2(A);R3(A);W1(B);W3(A);R2(B);W2(B);R3(B);W3(B);
③ R2(A);R1(B);W2(A);R3(A);W1(B):W3(A);R3(B):W3(B);R2(B);W2(B);
④ R2(A);R1(B);W2(A);R3(A);R3(B);W3(B);W1(B);W3(A);R2(B);W2(B);
⑤ R2(A);R1(B);R3(B);W3(B);W2(A);R3(A);W1(B);W3(A);R2(B);W2(B);
②
① R1(B); R2(B); W1(B); W2(B);
で、データ項目Bについて、競合直列できない。
② 正しい。
R2(A);R1(B);W2(A);R3(A);W1(B);W3(A);R2(B);W2(B);R3(B);W3(B);
で、データA, Bそれぞれについて、競合直列が可能である。
③ R3(B):W3(B);R2(B);W2(B);でトランザクションの番号が逆転している。
④ R1(B); R3(B);W3(B);W1(B);
でデータ項目Bについて、競合直列できない。
⑤ R1(B);R3(B);W3(B); W1(B)
でデータ項目Bについて、競合直列できない。
Ⅳ-25 | 目次 | Ⅳ-27 |