問題
二つのタスクが共用する二つの資源を排他的に使用するとき、デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
選択肢
- 1一方のタスクの優先度を高くする。
- 2資源獲得の順序を両方のタスクで同じにする。
- 3資源獲得の順序を両方のタスクで逆にする。
- 4両方のタスクの優先度を同じにする。
正解
2. 資源獲得の順序を両方のタスクで同じにする。
詳しい解説を見る解説を閉じる
解説
デッドロックは、複数タスクが複数の資源を異なる順序で獲得しようとして互いに相手の保持する資源を待ち合う「循環待ち」が起きると発生します。これを防ぐ代表的な手法が、すべてのタスクで資源を獲得する順序を統一することです。順序が同じなら循環待ちが生じず、デッドロックを回避できます。よってイが正解です。獲得順序を逆にすると(ウ)かえって循環待ちを招き、優先度の調整(ア・エ)では防止できません。(出典: 令和7年度 秋期 応用情報技術者試験 午前 問18)
一問一答
全400問を繰り返し学習