過去問解きまくり研究所 ホーム

平成25年度 秋期 午前 問32

データベース

トランザクションに関する問題

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

トランザクション \ 資源ABC
1S−X
2SX−
3XS−
答えと解説を見る

✓ これが正解イトランザクション 2 の後にトランザクション 1 を開始したとき,トランザクション 1 の資源待ちはない。

解説

両立するのは共有ロックどうしだけと考えて当てます。

すでにかかっているロックと、続いて要求されるロックが同時に成り立つのは、両方とも共有ロックのときだけです。片方でも専有ロックが絡めば、続く側は解放を待つことになります。この一行を先に置いて、表の資源ごとに当てていけば四つの記述はすべて判定できます。表を見ると、資源 C に触れるのはトランザクション 1 だけなので、ぶつかりが起きうるのは、三つとも触れる資源 A と、トランザクション 2 が専有ロック、トランザクション 3 が共有ロックをかける資源 B です。正しいのは、資源 A に共有ロックと資源 B に専有ロックをかける側が先に走り、資源 A に共有ロックと資源 C に専有ロックをかける側が続く組合せです。資源 A は共有ロックどうしなので通り、資源 C は誰も押さえていないためそのままかかります。判定の軸は、続く側が求めるロックと、すでにかかっているロックの組合せです。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成25年度 秋期 基本情報技術者試験 午前 問32(改変:原典の図表をテキストに書き起こした)

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)