情報処理安全確保支援士試験 情報処理安全確保支援士試験 平成31年度春期 午前Ⅰ 問6: 二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
←情報処理安全確保支援士試験 平成31年度春期 午前Ⅰ
二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
問題本文
二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。
選択肢
- ア.一方のタスクの優先度を高くする。
- イ.資源獲得の順序を両方のタスクで同じにする。
- ウ.資源獲得の順序を両方のタスクで逆にする。
- エ.両方のタスクの優先度を同じにする。
正解
イ. 資源獲得の順序を両方のタスクで同じにする。
解説
デッドロックは、複数タスクが複数資源を奪い合い、互いに相手の解放を待ち続けて停止する状態。発生条件の一つ「循環待ち」を断てば防止でき、全タスクが資源を同じ順序で獲得すれば待ちの輪が生じない。よってイが正解。実務でも複数ロック取得時は順序を統一することがデッドロック回避の定石である。
選択肢ごとの解説
- ア.優先度を高くしても資源獲得順序の循環は解消されず、デッドロックは防げないため誤り。
- イ.両タスクで資源獲得順序を同じにすると循環待ちが生じず、デッドロックを防止でき正解。
- ウ.獲得順序を逆にすると互いに相手の資源を待つ循環待ちが起こりやすく、むしろ誘発するため誤り。
- エ.優先度を同じにしても獲得順序の問題は残り、デッドロックは防げないため誤り。
情報処理安全確保支援士試験 平成31年度春期 午前Ⅰ の過去問一覧へ戻る・問6