応用情報技術者試験 午前

解説一覧 / 令和6年度 春期 問17

解説を読む ↓

17令和6年度 春期テクノロジ系

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

問題の図
図(問題冊子 p.13 より)— クリックで原寸

正解はイ

解説 本サイト独自(IPA公表のものではありません)

 Aの占有順序はX,Y,Zである。CはZ,X,Yなので,AがXを,CがZを占有すると互いの資源を待つ。DはZ,Y,Xなので,AとDがXとZをそれぞれ占有した後,Yの占有状況に応じて互いの資源を待つ可能性がある。したがってC,Dである。

  •  Bも資源を競合するというだけでデッドロック候補に含めている。BはAと同じX,Y,Zの順なので,先にXを占有した側だけが先へ進み,循環待ちにはならない。
  •  Dでは問題が起きないと見落としている。AがXを,DがZを占有した後,どちらがYを占有しても,一方が保持する資源を他方が待つ循環が成立し得る。
  •  Cでは問題が起きないと見落としている。AがXを保持してZを待ち,CがZを保持してXを待つ進行が可能なので,Cとの同時実行でも循環待ちが成立し得る。
この解説は間違っています

 ログインは不要です

この解説は,別のモデルによるレビューを受けています。

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

自分で解いてから答え合わせをするなら 問題バンク — 解説は解答後に表示されます。