データベース
基本情報技術者試験 科目A免除 修了試験 200907 実施分 問36
表は,ジョブ 1~3 が資源 A~C にかけるロックの種別を表す。また,資源へのロックはジョブの起動と同時にかけられる。ジョブ 1~3 のうち二つのジョブをほぼ同時に起動した場合の動きについて,適切な記述はどれか。ここで,表中の“- ”はロックなし,“S”は共有ロック,“X”は占有ロックを示す。
| ジョブ\資源 | A | B | C |
|---|---|---|---|
| 1 | S | - | X |
| 2 | S | X | - |
| 3 | X | S | - |
- ア ジョブ 1 の後にジョブ 3 を起動したとき,ジョブ 3 の資源待ちはない。
- イ ジョブ 2 の後にジョブ 1 を起動したとき,ジョブ 1 の資源待ちはない。
- ウ ジョブ 2 の後にジョブ 3 を起動したとき,ジョブ 3 の資源待ちはない。
- エ ジョブ 3 の後にジョブ 1 を起動したとき,ジョブ 1 の資源待ちはない。
出典:基本情報技術者試験 科目A免除 修了試験 200907 実施分 問36
答えと解説を見る
正解:イ
覚える知識
共有ロックと専有ロックの両立性判定
共有ロック同士は同時取得でき、専有ロックは他のあらゆるロックと競合する。
この問題で必要なこと
共有同士は両立し、専有は共有・専有のどちらとも両立しない。各資源のロックを比較して待ちの有無を判定する。
ひっかけ
ジョブ1と2は資源AがS同士でも、資源BやCの競合を見落とす。
この知識の出題:本試験系 4 回・免除試験 23 回(公開問題での観測値)