
応用情報技術者試験基礎・応用
条件を読む・根拠を説明する
デッドロックの回避策
条件を整理し、答えを選んでから解き方を確認しましょう。
取引T1が資源Aを確保してBを待ち、T2がBを確保してAを待つ。予防策として適切なのはどれか。
答え・解き方を読む
全取引が資源を同じ順序で確保する規則にする
図で見る
相手が持つ資源を互いに待つ
Pが資源1を保持して資源2を待ち、Qが資源2を保持して資源1を待つ関係です。資源を同じ順序で取得する等の対策で循環待ちを防ぎます。
図は問題の関係を整理する模式図です。記号には各問題の数値を当てはめます。寸法・面積・時間の縮尺や、実施工の全条件は表していません。
考える順序
- 1相互に待つ循環が成立している
- 2A→Bなど取得順序を全てで統一
- 3循環待ちの成立を防ぐよう設計する
選択肢ごとの理由
- 比較 · 資源の解放を永久に禁止する
解放しない規則は問題を悪化させます。
- 比較 · 待機時間を長くすれば必ず解消する
循環待ちは時間を延ばすだけでは解消しません。
- 比較 · 両取引の実行優先度を同じにするだけ
優先度の一致だけで資源取得順序は変わりません。
- 正解 · 全取引が資源を同じ順序で確保する規則にする
相互に待つ循環が成立している。A→Bなど取得順序を全てで統一。循環待ちの成立を防ぐよう設計する。