ページアウト
ページアウト(英:page-out)とは、主記憶装置の容量がいっぱいで新しいページを読み込むことができない場合に、いずれかのページを主記憶装置から補助記憶装置に追い出して空き領域を作る操作のことです。
上記図はページアウトのイメージ例です。主記憶装置上の「ページ1」を補助記憶装置に追い出すことで、主記憶装置に空き領域を作っています。
ページアウトはどういうときに発生するのか?
仮想記憶の現実方法のひとつであるページング方式では、メモリ領域をページと呼ばれる一定の大きさの領域に分割し管理します。
次の図はページング方式のイメージ例です。プログラムAを「ページ」単位に分割して仮想記憶に記憶しています。
仮想記憶は、あくまでも"仮想的な記憶領域"です。そのため、ページを実行するためには主記憶装置にページを読み込む必要があります。
しかし、デマンドページングと呼ばれる方式では、ページが必要になるまで主記憶装置に読み込みません。
そのため、CPUからの要求でページにアクセスしようとしても、主記憶装置上にはページがないので、ページフォールトという割り込みが発生します。ページフォールトとは、必要なページが主記憶装置上にないときに発生する割り込みのことです。
ページフォールトが発生したら、必要なページを補助記憶装置から主記憶装置に読み込みます。この操作を「ページイン」といいます。
ページインしたときに、主記憶装置上の領域に空きがない場合は、いずれかのページを補助記憶装置に追い出して空き領域を作る必要があります。この操作が「ページアウト」です。
チェック
- ページイン:主記憶装置にページを読み込むこと
- ページアウト:主記憶装置からページを追い出すこと