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

分野:ソフトウェア|実際に出題されたIPA過去問題

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

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  B, C, D
  2.  C, D
  3.  Cだけ
  4.  Dだけ
解答・解説を見る

正解:イ

AI解説

複数プロセスが資源を獲得する順序が食い違っていると、互いに相手が保持している資源の解放を待ち続ける循環待ちの状態、すなわちデッドロックが発生し得る。設問の資源獲得順序の表に基づいて判定すると、プロセスAと同時に動かした場合にデッドロックの可能性があるのはC、Dの組合せである。 ア: この組合せには、資源の獲得順序がプロセスAと衝突しない(循環待ちが生じない)プロセスも含まれており、正しい判定結果ではない。 イ: 正しい。プロセスAとC、AとDの組合せでは、資源の獲得順序がそれぞれ逆転する箇所があり、互いに相手の保持する資源を待ち合う循環待ちが生じ得るため、デッドロックの可能性がある。 ウ: Dとの組合せでもプロセスAとの資源獲得順序の食い違いによりデッドロックの可能性があるため、Cだけに限定するのは条件を満たさない。 エ: Cとの組合せでもプロセスAとの資源獲得順序の食い違いによりデッドロックの可能性があるため、Dだけに限定するのは条件を満たさない。 💡 デッドロック判定は、各プロセスの資源獲得順序を表にし、2プロセスずつペアにして「互いに逆順で資源を要求する箇所があるか」を確認するのが基本の解き方である。

出典:令和6年度 春期 応用情報技術者試験 午前 問17 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「ソフトウェア」分野の攻略ポイント

OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェアが範囲です。ページ置換えアルゴリズムやタスクスケジューリングは手順が決まっているので、シミュレーションの練習をすれば確実に得点源になります。

ソフトウェアの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(ソフトウェア)の過去問