応用情報技術者試験 応用情報技術者試験 令和6年度春期 午前17: 三つの資源 X 〜 Z を占有して処理を行う四つのプロセス A 〜 D がある。各プロセスは処理の進行に伴い,表中の数値の順に資源を占有し,実行終了時に三つの資

応用情報技術者試験 令和6年度春期 午前
Q 1717 / 80
三つの資源 X 〜 Z を占有して処理を行う四つのプロセス A 〜 D がある。各プロセスは処理の進行に伴い,表中の数値の順に資源を占有し,実行終了時に三つの資源を一括して解放する。プロセス A と同時にもう一つプロセスを動かした場合に,デッドロックを起こす可能性があるプロセスはどれか。
プロセス資源 X資源 Y資源 Z
A123
B123
C231
D321
この問の正解率:79.92%(244件)

問題本文

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

選択肢

  • .B,C,D
  • .C,D
  • .C だけ
  • .D だけ

正解

. C,D

解説

デッドロックは、二つのプロセスが互いに相手の保持する資源を待ち合うときに発生し、これは資源の占有順序が異なることが原因となる。Aの占有順序は X→Y→Z である。Bも X→Y→Z とAと全く同じ順序なので、先に取った方が使い終えるまで他方が待つだけで待ち合いは起きずデッドロックしない。一方、Cは Z→X→Y、Dは Z→Y→X とAと異なる順序を含み、Aと逆向きに資源を取り合う状況が生じ得るためデッドロックの可能性がある。よってデッドロックを起こし得るのはCとDであり、イが正解である。

選択肢ごとの解説

  • .BはAと占有順序(X→Y→Z)が完全に同一なので待ち合いは起きずデッドロックしない。Bを含むため誤り。
  • .正しい。CとDはAと資源の占有順序が異なり、Aと逆向きに資源を取り合う状況が生じ得るためデッドロックの可能性がある。
  • .Cだけでなく、Dも順序がAと異なりデッドロックの可能性があるため不十分で誤り。
  • .Dだけでなく、Cも順序がAと異なりデッドロックの可能性があるため不十分で誤り。

応用情報技術者試験 令和6年度春期 午前過去問一覧へ戻る・問17