スラッシング
仮想記憶システムにおけるスラッシングの説明はどれか。
- ア主記憶の空き領域が細かく分断され,合計の空き容量は十分でも連続した領域を確保できなくなる。
- イ実行中のプロセスに割り当てられる実記憶が不足し,ページの置換えが頻発して処理がほとんど進まなくなる。
- ウ複数のプロセスが互いに相手の確保している資源の解放を待ち合い,処理が進まなくなる。
- エ優先度の低いプロセスが,優先度の高いプロセスに CPU を奪われ続け,いつまでも実行されない。
正解と解説を見る
正解 イ
この問題の基礎知識
- 仮想記憶では,プログラムをページ単位で主記憶と補助記憶の間で入れ替え,参照したページが主記憶に無いとページフォールトが発生してページインが行われる。
- 主記憶に同時に置くプロセスの数(多重度)を増やすと,各プロセスに割り当てられる実記憶が減り,ページフォールトが起きやすくなる。
- 紛らわしい用語として,フラグメンテーションは空き領域の断片化,デッドロックは資源の解放の待ち合い,スタベーションは低優先度のプロセスがいつまでも実行されない状態を指す。
ア主記憶の空き領域が細かく分断され,合計の空き容量は十分でも連続した領域を確保できなくなる。
空き領域が細かく分断されて連続領域を確保できなくなる現象はフラグメンテーション(断片化)である。対策としてメモリコンパクションがある。
イ実行中のプロセスに割り当てられる実記憶が不足し,ページの置換えが頻発して処理がほとんど進まなくなる。正解
スラッシングは,多重度が高すぎるなどの理由で実記憶が不足し,ページフォールトとページの入出力が頻発して CPU がほとんど有効な処理を行えなくなる現象である。
ウ複数のプロセスが互いに相手の確保している資源の解放を待ち合い,処理が進まなくなる。
互いに相手が確保している資源の解放を待ち続けて処理が進まなくなる状態はデッドロックである。資源の確保順序を統一するなどの対策がある。
エ優先度の低いプロセスが,優先度の高いプロセスに CPU を奪われ続け,いつまでも実行されない。
優先度の低いプロセスが長時間実行されない状態はスタベーション(飢餓状態)である。待ち時間に応じて優先度を上げるエージングで回避できる。
検証用の出典レビュー済み
Abraham Silberschatz, Peter B. Galvin, Greg Gagne: Operating System Concepts