ページング方式の仮想記憶とは?
OSの仮想記憶方式のひとつで、プログラムが使うメモリを「ページ」という固定サイズの単位に分割して管理します。
実際の物理メモリは「フレーム」という同じ大きさの領域に分けられ、ページとフレームを対応づけて使います。
この仕組みにより、プログラムは実際の物理メモリより大きな仮想アドレス空間を利用できるようになります。
ページフォルト、ページイン、ページアウトの流れ
プログラムが必要とするページが物理メモリに存在しない場合に「ページフォルト」が発生します。
ページフォルトを解消するため、ディスクからページを読み込む処理を「ページイン」と呼びます。
また、メモリに空きがない場合、既存のページをディスクに書き戻して空きフレームを作る処理を「ページアウト」と呼びます。
図:ページングの流れ
CPUがページ参照
そのページは物理メモリにあるか?
はい → そのままアクセス
いいえ → ページフォルト発生
はい → そのままアクセス
いいえ → ページフォルト発生
OSがディスクからページを読み込む
(ページイン)
(ページイン)
空きフレームがなければ既存ページをディスクへ書き出す
(ページアウト)
(ページアウト)
ページをフレームに配置
CPUが再びページにアクセス
用語説明
- ページフォルト:必要なページがメモリにないときに発生する例外。
- ページイン:ページフォルトを解消するため、ディスクからページをメモリへ読み込む処理。
- ページアウト:メモリに空きがない場合、既存ページをディスクに書き戻して空きフレームを作る処理。