令和2年度秋期 問17 / 80

令和2年度 秋期 応用情報技術者試験 午前 問17

三つの資源X~Zを占有して処理を行う四つのプロセスA~Dがある。各プロセスは処理の進行に伴い,表中の数値の順に資源を占有し,実行終了時に三つの資源を一括して解放する。プロセスAと同時にもう一つプロセスを動かした場合に,デッドロックを起こす可能性のあるプロセスはどれか。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:イ

各プロセスの資源の占有順序

  • プロセスA: 資源X → 資源Y → 資源Z
  • プロセスB: 資源X → 資源Y → 資源Z
  • プロセスC: 資源Y → 資源Z → 資源X
  • プロセスD: 資源Z → 資源Y → 資源X

デッドロックの条件

  • デッドロックは、複数のプロセスが互いに資源を占有し、他のプロセスが解放するのを待っている状態で発生します。
  • プロセスAは資源Xを占有し、その後資源Y、Zの順に占有します。
  • プロセスCは資源Yから占有を始め、Z、Xの順に進みます。
  • プロセスDは資源Zから占有し、Y、Xの順に進みます。

デッドロックが発生する可能性

  • プロセスAが資源Xを占有している場合、プロセスCが資源Yを占有して資源Zを待ち、プロセスDが資源Zを占有して資源Xを待つと、循環待ちが発生しデッドロックになります。
  • プロセスBはプロセスAと同様の資源の占有順序のため、デッドロックには直接関与しません。

答え

イ: C,D

出典:令和2年度 秋期 応用情報技術者試験 午前 問17

令和2年度秋期の他の問題