ページング方式とは仮想アドレス空間(メモリとHDD上の仮想メモリ空間)を
「固定長の領域に区切って管理する」方式です。
ページとはプログラムを分割した単位で、1ページのサイズは4KBが一般的です。
デマンドページング
デマンドページングとは実行に必要なページだけを実記憶に読み込ませる方法です。流れとしては以下のようになります。
1.まずプログラムからデータが来たらページに分割して仮想記憶に割り当てます。
2.そして実行するタイミングでは実記憶にまだ保存されていないのでページフォールトが発生します。
3.その段階で必要なページだけを実記憶に読み込んで実行します。
こういった流れで処理されるのがデマンドページングとなります。
ページテーブル
ページテーブルは仮想記憶と実記憶の紐付けを行う表です。仮想ページ番号と存在するか否かのフラグ、実記憶の物理アドレスの列を持っているとイメージするとわかりやすいです。
ページイン
補助記憶から実記憶にページを読み込むことをページインと呼びます。
ページアウト
実記憶からページを補助記憶に追い出すことをページアウトと呼びます。
スラッシング
実記憶の容量が少ないとページイン、ページアウトの頻度が高くなりスラッシングが発生します。スラッシングが発生するとシステムの処理効率が極端に低下することがあります。
ページの置き換えアルゴリズム
ページの読み込みや追い出しにはいくつかのやり方があります。
FIFO(First In First Out)|先入先出
LIFO(Last In First Out)|後入先出
LRU(Least Recently Used)|長い間参照がないものを先に出す
LFU(Least Frequently Used)|参照回数の少ないものを先に出す
スワッピングとの違い
基本情報技術者試験ではプロセス単位で実記憶と補助記憶のやり取りをすることをスワッピングと呼びます。
ページングはページ単位でのやり取りを行います。
コメントを残す