データベース

基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問18

三つの資源 X〜Z を占有して処理を行う四つのプロセス A〜D がある。各プロセスは処理の進行に伴い,表中の数値の順に資源を占有し,実行終了時に三つの資源を一括して解放する。プロセス A とデッドロックを起こす可能性があるプロセスはどれか。
資源の占有順序
プロセス資源X資源Y資源Z
A123
B123
C231
D321
  • ア B,C,D
  • イ C,D
  • ウ C だけ
  • エ D だけ

出典:基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問18

答えと解説を見る

正解:イ

覚える知識

デッドロックの定義

デッドロックは、複数のプロセスが互いの保持する資源の解放を待ち合って永久に進まなくなる状態。

この問題で必要なこと

デッドロックは資源の占有順序が逆になる組で起こる。AはX→Y→Zの順なので、Zを先に取るC(Z→X→Y)とD(Z→Y→X)がデッドロックを起こす可能性があり、Bは同順なので起こらない。

ひっかけ

Bは占有順序がAと同じでデッドロックしない。順序の逆転を見落とすとB,C,Dを選んでしまう。

この知識の出題:本試験系 2 回・免除試験 4 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「トランザクションと排他制御(ロック・デッドロック)」で学ぶ

同じ知識の過去問