修了試験 2018-06-10実施分 基本情報技術者試験 問30
表は,トランザクション1〜3が資源A〜Cにかけるロックの種別を表す。 また,資源へのロックはトランザクションの開始と同時にかけられる。 トランザクション1〜3のうち二つのトランザクションをほぼ同時に開始した場合の動きについて,適切な記述はどれか。 ここで,表中の"-"はロックなし,"S"は共有ロック,"X"は専有ロックを示す。 トランザクション\資源|A|B|C 1|S|-|X 2|S|X|- 3|X|S|-
正答2
解説
正解は2です。 共有ロック(S)同士は同じ資源に同時にかけられますが、専有ロック(X)はほかのどのロックとも同時にかけられません。 表から、トランザクション1はAにS、CにX、トランザクション2はAにS、BにX、トランザクション3はAにX、BにSをかけます。 後から開始したトランザクションが、先のトランザクションと衝突するロックを必要とするかを調べます。 【選択肢別解説】 1:× トランザクション3はAに専有ロックが必要ですが、先に開始したトランザクション1がAに共有ロックをかけているため、資源待ちが発生します。 2:○ トランザクション1のAへの共有ロックは、トランザクション2の共有ロックと共存できます。 Cはトランザクション2が使わないので、資源待ちは発生しません。 3:× トランザクション3はAに専有ロックが必要ですが、トランザクション2がAに共有ロックをかけています。 さらにBもトランザクション2が専有ロック中なので、資源待ちが発生します。 4:× トランザクション1はAに共有ロックが必要ですが、トランザクション3がAに専有ロックをかけているため、資源待ちが発生します。 【ポイント】 ロックの両立性は「SとSだけが両立し、Xが一つでも絡むと待ちになる」と覚えます。 組合せごとに資源A〜Cを一つずつ確認すると確実です。まとめて解く
修了試験 2018-06-10実施分を通しで解く(80問)→