修了試験 2017-01-22実施分 基本情報技術者試験 問29
表は,トランザクション1~3が資源A~Cにかけるロックの種別を表す。 また,資源へのロックはトランザクションの開始と同時にかけられる。 トランザクション1~3のうち二つのトランザクションをほぼ同時に開始した場合の動きについて,適切な記述はどれか。 ここで,表中の“-”はロックなし,“S”は共有ロック,“X”は専有ロックを示す。 トランザクション\資源/A|B|C 1|S|-|X 2|S|X|- 3|X|S|-
正答2
解説
正解は2です。 共有ロック(S)どうしは同じ資源に同時にかけられますが、専有ロック(X)はほかのどのロックとも両立しません。 2つのトランザクションが同じ資源にロックをかけ、どちらかがXであれば、後から開始した側は資源待ちになります。 【選択肢別解説】 1:× トランザクション1は資源AにS、トランザクション3は資源AにXをかけます。 SとXは両立しないので、トランザクション3は資源Aを待ちます。 2:○ トランザクション2は資源AにSとBにX、トランザクション1は資源AにSとCにXをかけます。 重なる資源AはSどうしで両立し、BとCは重ならないので待ちはありません。 3:× 資源Aはトランザクション2がS、トランザクション3がXです。 資源Bもトランザクション2がX、トランザクション3がSなので、トランザクション3は待ちになります。 4:× トランザクション3は資源AにXをかけています。 トランザクション1が資源AにSをかけようとしても両立しないので、資源待ちが発生します。 【ポイント】 SとSは両立し、SとX、XとXは両立しないという組合せが基本です。 読取りだけなら共有ロック、更新するなら専有ロックをかけると覚えましょう。まとめて解く
修了試験 2017-01-22実施分を通しで解く(80問)→