情報処理技術者試験の過去問解説などをまとめています。

応用情報技術者試験 | 令和2年秋期 午前問18

問題

解説

ページングは、プログラムやデータを分割して記憶領域を管理しコンピュータの仮想記憶を実現するための方式です。

ページングでは、仮想記憶(補助記憶装置)と実記憶(主記憶)間のデータの受け渡しをページという固定長の単位で行いますが、このページのやり取りは「ページフォールトが発生したときに主記憶のどのページを置換えるか」および「どのページをどのタイミングで主記憶に読み込むか」という二つのアルゴリズムに基づいて管理が行われます。

前者の置換え対象を決定する方法としては、LRU(Least Recently Used)やFIFO(First In First Out)があり、後者の読込み対象と読込むタイミングを決定するアルゴリズムとしては、この設問で問われている「デマンドページング方式」や「プリページング方式」があります。

デマンドページング

デマンド(demand)とは要求を意味する英語で、その名の通りアクセス要求があった時に要求があったページのみを主記憶に読み込む方式。

メモリ使用量を節約できる、プログラム開始時の主記憶へのロードによる遅延がない、ページの読込みが最小限で済むなどの利点があり、実際のOSでは基本的にこの方式が用いられている。

プリページング

ページにアクセス要求がある前に、前もって参照されそうなページを主記憶に読み込んでおく方式。

アクセス要求があった時に周辺のページも同時に主記憶に読み込んだり、プログラムのロード時にたくさんのページを読み込んでおくことで、メモリ使用量は増加するがメモリアクセスの効率を向上させることができる。