問題プレビューID: 71837124

問 32

表は,トランザクション 1〜3 が資源 A〜C にかけるロックの種別を表す。また,資源へのロックはトランザクションの開始と同時にかけられる。トランザクション 1〜3 のうち二つのトランザクションをほぼ同時に開始した場合の動きについて,適切な記述はどれか。ここで,表中の “−” はロックなし,“S” は共有ロック,“X” は専有ロックを示す。

トランザクション\資源ABC
1S−X
2SX−
3XS−
解説

ロックの互換性は,共有ロック(S)同士は共存できるが,専有ロック(X)は他のロック(S・X)と競合するという関係にある。それぞれの場合を確認する。

  • ア:トランザクション 1 が A に S,C に X をかけた後,トランザクション 3 は A に X をかける必要があるが,A は S と競合するため資源待ちが生じる。誤り。
  • イ:トランザクション 2 が A に S,B に X をかけた後,トランザクション 1 は A に S,C に X をかける。A は S 同士なので共存でき,C は空いているので取得できる。よって資源待ちはない。正しい。
  • ウ:トランザクション 2 が A に S,B に X をかけた後,トランザクション 3 は A に X をかける必要があり,A の S と競合して資源待ちが生じる。誤り。
  • エ:トランザクション 3 が A に X,B に S をかけた後,トランザクション 1 は A に S をかける必要があり,A の X と競合して資源待ちが生じる。誤り。

したがって,正解は「イ」です。