令和元年度 高度共通 午前I(PM試験) 問6

分野:ソフトウェア(OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェア)|実際に出題されたIPA過去問題

二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。

  1.  一方のタスクの優先度を高くする。
  2.  資源獲得の順序を両方のタスクで同じにする。
  3.  資源獲得の順序を両方のタスクで逆にする。
  4.  両方のタスクの優先度を同じにする。
解答・解説を見る

正解:イ

AI解説

デッドロックは、2つのタスクが互いに相手の確保した資源の解放を待ち合って停止する現象である。両方のタスクが資源を同じ順序(例:資源1→資源2)で獲得するようにすれば、先に資源1を得たタスクが必ず資源2も獲得できるため、互いに待ち合う循環が発生せず、デッドロックを防止できる。 ア: 優先度を高くしても資源獲得の待ち合わせの循環は解消されず、デッドロックは防げない。優先度は実行順序の制御であり資源の競合とは別問題である。 イ: 正解。資源獲得の順序を両タスクで統一すれば、循環待ち(相互に相手の資源を待つ状態)が構造的に発生しなくなる。 ウ: 獲得順序を互いに逆にすると、各タスクが1つ目の資源を確保した時点で相手の資源を待ち合う典型的なデッドロックが発生しやすくなる。 エ: 優先度を同じにしてもタスクの資源獲得順序は変わらず、デッドロックの防止にはならない。 💡 デッドロックの4条件のうち「循環待ち」を断つのが資源獲得順序の統一である。「順序を同じに=安全、逆に=危険」と対で覚えれば、この定番問題は瞬時に解ける。

出典:令和元年度 秋期 プロジェクトマネージャ試験 午前I 問6 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・904問収録)

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

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

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

同じ分野(ソフトウェア(OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェア))の過去問