SC情報処理安全確保支援士試験 午前Ⅰ
令和4年度秋期 情報処理安全確保支援士 午前Ⅰ 問6
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア一方のタスクの優先度を高くする。
- イ資源獲得の順序を両方のタスクで同じにする。
- ウ資源獲得の順序を両方のタスクで逆にする。
- エ両方のタスクの優先度を同じにする。
解き方のヒントを見る
午前I 問06:資源を取る順番をそろえてデッドロックを防ごう
二つのタスクが二つの資源を排他的に使うとき、片方はA→B、もう片方はB→Aのように逆順で取りに行くと、お互いに相手が持っている資源を待ち続ける状態になりやすいよ。これは、狭い通路で二人が向かい合って止まってしまうようなもの。防ぐには、どちらのタスクも必ずA→Bのように同じ順番で資源を取るルールにしよう。そうすると循環待ちが起きにくくなり、デッドロックを防げるんだ。
この問題で問われていること
ポイントは、優先度を上げ下げして解決する話ではなく、デッドロックが成立する条件の一つである「循環待ち」を壊すことだよ。資源を取る順番を統一して、待ちの輪ができないようにする発想を押さえよう。
Breaking Circular Wait
deadlock prevention is achieved by enforcing the same resource-acquisition order across tasks so circular wait cannot arise
deadlock needs circular wait\nfix a single acquisition order\nall tasks follow the same order\npriority changes do not solve the root cause
確認ポイント
- 循環待ち条件を崩す。
- 順序統一で考える。
- 優先度調整と混同しない。
正解と解説を見る
正解
イ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
不正解だよ。片方のタスクの優先度を高くしても、すでに別々の資源を持って待ち合っていたら、優先度だけでは鍵の取り合いは解決しないよ。窓口で『この人を優先します』と言っても、必要な書類を別の人が握ったままなら進めない、という感じだね。
選択肢イ(正解)
これは正解だよ。例えば、2人が『鍵Aを取ってから鍵Bを取る』という同じルールで動けば、片方が鍵Aを持ち、もう片方が鍵Bを持って、お互いに待ち続ける状態を避けやすいよ。資源を取る順番を全員で統一すると、行き違いによるデッドロックを防げるんだ。
選択肢ウ
不正解だよ。両方のタスクで資源を取る順番をそろって逆にするだけなら、実は『同じ順番にそろえる』のと同じ効果になる場合があるよ。ただし、この選択肢の言い方だと元の順番との関係があいまいで、デッドロック対策として本質的なのは『全タスクで資源を取る順番を統一すること』なんだ。
選択肢エ
不正解だよ。両方のタスクの優先度を同じにしても、資源を取る順番がバラバラなら、片方が資源A、もう片方が資源Bを持って止まる可能性は残るよ。泥棒同士が別々の合鍵を持って『そっちの鍵を貸して』と待ち合うようなもので、優先度をそろえても待ち合い自体はなくならないんだ。
出典:独立行政法人 情報処理推進機構(IPA)令和4年度秋期 情報処理安全確保支援士試験 午前Ⅰ 問6(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針