令和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