仮想記憶のページング方式
仮想記憶のページング方式は、仮想アドレス空間と主記憶を同じ大きさの固定長の単位に分けて管理し、必要なページだけを主記憶に置く方式である。参照したページが主記憶になければページフォールトが起こり、OSが補助記憶から必要なページを読み込んで処理を続ける。ページ置換えのアルゴリズム、ページイン・ページアウトの関係、スラッシングの三点が試験で繰り返し問われる。
ページングの仕組みと固定長の利点
ページング方式では、仮想記憶をページ、主記憶をページフレームと呼ばれる同じ大きさの枠に分けて扱う。ページ単位で配置するため、主記憶に空き領域が散らばっていても、必要な大きさの連続領域を探す必要がない。この仕組みにより、主記憶の外部断片化は発生しない。
ただし、プログラムの大きさがページ単位にちょうど収まるとは限らず、最後のページに未使用の部分が生じることがある。このため、ページング方式でも内部断片化は起こり得る。 一方、論理的な単位であるコードやデータに合わせて保護や共有を行うのは、可変長の単位を扱うセグメンテーション方式の特徴である。
主記憶の割当てはページフォールトを契機に行われる。需要ページングでは、実行中に参照されたページが主記憶にないときにページフォールトが発生し、そのページを読み込むための主記憶が割り当てられる。空きフレームがない場合は、ページ置換えによって別のページを追い出して領域を確保する。 また、未参照のページは主記憶に載らないことがあり、実行開始時にコード全体を載せる必要はない。
ページフォールト・ページイン・ページアウトの関係
ページフォールトが起きると、通常のページングでは必要なページを補うためにページインが行われるため、両者の回数は等しくなる。ページアウトは、置き換えるページが主記憶にあり、そのページを補助記憶へ書き戻す必要がある場合に限って生じる。したがって、ページフォールト、ページイン、ページアウトの回数は、ページフォールト=ページイン≧ページアウトの関係になる。
平均処理時間からページインのみの割合を求める問題では、ページアウトを伴わない場合の処理時間と伴う場合の処理時間を、その割合で重み付けした平均として立式する。ページインだけの割合をpとすると、20p+60(1−p)=30が成り立ち、pは0.75と求まる。このように、条件から割合を式で表して解く手順が問われる。
この節の続き
- ページ置換えアルゴリズムと判断の基準
- スラッシングとプリページング
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む