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

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

解説

応用情報技術者試験 令和2年度 午前 問17「三つの資源 X〜Z を占有して処理を行う四つのプロセス A〜D がある。各プロセ…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約76%です。

正解

. C,D

正答率 76.3%(477人中 364人が正解)

問題の解説

デッドロックは、複数プロセスが資源を取得する順序が異なるために互いに相手の保持資源を待ち合うことで発生する。資源取得順序を全プロセスで統一すれば待つだけで済み、デッドロックは起こらない。プロセスAの取得順序は X→Y→Z。Bも同じ X→Y→Z なのでAと順序が一致しデッドロックは起きないが、CはX以外から始まり順序が異なり、DはZから始まって順序が逆になるため、AとC、AとDの組ではそれぞれ取得順序が食い違い待ち合いが生じうる。したがってデッドロックの可能性があるのはCとDで、イが正解。

選択肢ごとの解説

  • BはAと全く同じ X→Y→Z の順序で取得するため待ち合いが起きずデッドロックしない。Bを含めるこの選択肢は誤り。
  • C(Y→Z→X相当の順)とD(Z→Y→X)はAのX→Y→Zと取得順序が異なり相互に待ち合う可能性があるため、デッドロックを起こし得る組み合わせとして正しい。
  • Cだけでなく、Z→Y→Xの順で取得するDもAと逆順で待ち合いが生じうるため、Cだけとするのは不十分で誤り。
  • Dだけでなく、取得順序がAと異なるCもデッドロックを起こし得るため、Dだけとするのは不十分で誤り。

応用情報技術者試験 令和2年度 午前 の過去問一覧に戻る・問17

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード