SC情報処理安全確保支援士試験 午前Ⅰ
令和6年度春期 情報処理安全確保支援士 午前Ⅰ 問6
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アB、 C、D
- イC.D
- ウCだけ
- エDだけ
解き方のヒントを見る
午前I 問06
Aは資源を`X→Y→Z`の順に取りに行くよ。Cは`Y→Z→X`、Dは`Z→Y→X`の順だから、Aと同時に動くと「こっちはY待ち、あっちはX待ち」みたいに、お互いが相手の持っている資源を待つ循環待ちが起きる可能性があるんだ。一方、BはAと同じ順番で資源を取るので、列に並ぶ順番がそろっていて、循環待ちは起きにくいよ。
この問題で問われていること
資源を取る順番を見て、デッドロックの原因になる循環待ちが起きそうかを見抜こう、という問題だよ。
Deadlock Risk by Resource Order
different lock order can create circular wait; same order usually does not
A: X -> Y -> Z\nB: X -> Y -> Z\nC: Y -> Z -> X\nD: Z -> Y -> X
確認ポイント
- B は A と同順です。
- 循環待ちを作る順序だけを選ぶ。
- A と組み合わせて危ないのは C、 D です。
正解と解説を見る
正解
イ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
これは不正解だよ。BはAと同じX→Y→Zの順に資源を取るので、入口で同じ列に並ぶようなものなんだ。どちらかが先にXを取ったら、もう片方はXの前で待つだけで、途中の鍵を持ったまま相手を待つ形になりにくいよ。Bまで含めてしまうのが間違いだよ。
選択肢イ(正解)
これが正解だよ。AはX→Y→Zの順、CはZ→X→Yの順、DはZ→Y→Xの順に資源を取る。たとえばAがXを持ち、CがZを持つと、AはZ待ち、CはX待ちになって、お互いに相手が手放すのを待つだけになることがあるよ。Dも同じように、Aと逆向きに鍵を取りに行くので行き詰まる可能性がある。だからデッドロックの可能性があるのはCとDだよ。
選択肢ウ
これは不正解だよ。Cはたしかにデッドロックの可能性があるけど、Dも同じく危ないんだ。AはX→Y→Zの順に鍵を取る人、DはZ→Y→Xの順に鍵を取る人みたいなもの。AがXを持ってYを待ち、DがYを持ってXを待つと、お互いに『相手の鍵がないと進めない』状態になるよ。だからCだけでは足りないよ。
選択肢エ
これは不正解だよ。Dはたしかにデッドロックの可能性があるけど、Cも危ないんだ。CはZ→X→Yの順に資源を取るので、AがXを持ってZを待ち、CがZを持ってXを待つ、という『お互いの持ち物待ち』が起こり得るよ。だからDだけではなく、Cも含める必要があるよ。
出典:独立行政法人 情報処理推進機構(IPA)令和6年度春期 情報処理安全確保支援士試験 午前Ⅰ 問6(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針