データベース
基本情報技術者試験 科目A免除 修了試験 20120722 実施分 問35
表は,ジョブ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免除 修了試験 20120722 実施分 問35
答えと解説を見る
正解:イ
覚える知識
共有ロックと専有ロックの両立性判定
共有ロック同士は同時取得できるが、専有ロックは他のロックと両立しない。
この問題で必要なこと
共有同士のみ両立し、専有は他のどのロックとも両立しない。ジョブ2→1はA:S/S、B・Cは競合なしで待ちなし。他は競合する資源がある。
ひっかけ
各資源のロックの組合せを見落として待ちなしと思わせる。
この知識の出題:本試験系 4 回・免除試験 23 回(公開問題での観測値)