修了試験 2012-07-22実施分 基本情報技術者試験 問35
表は,ジョブ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:× ジョブ1が資源Aに共有ロックをかけているところへ、ジョブ3が資源Aに占有ロックをかけようとします。 占有ロックは共有ロックと両立しないので、ジョブ3は資源待ちになります。 2:○ ジョブ2は資源Aに共有ロック、資源Bに占有ロックをかけています。 ジョブ1は資源Aに共有ロック、資源Cに占有ロックをかけます。 Aは共有ロック同士で両立し、Cはジョブ2が使っていないので、ジョブ1は資源待ちになりません。 3:× ジョブ3は資源Aに占有ロックをかけようとしますが、ジョブ2が共有ロックをかけているので待ちになります。 資源Bについても、ジョブ2の占有ロックと衝突します。 4:× ジョブ3が資源Aに占有ロックをかけているので、ジョブ1は資源Aに共有ロックをかけられず、資源待ちになります。 【ポイント】 ロックの両立性は「SとSだけが両立し、Xが絡むと待ちになる」と覚えます。 表を資源ごとに縦に見て、2つのジョブの組合せを確認すると解きやすくなります。まとめて解く
修了試験 2012-07-22実施分を通しで解く(80問)→