カタツの情報処理技術者試験日記@基本情報技術者

情報処理技術者試験の勉強の記録です。今は基本情報技術者を勉強中です。

ページテーブルによるソフトウェア仮想記憶における2種類のページ置きかえアルゴリズム

本日は平成25年春期午後の問2に挑戦。お題は「ソフトウェア仮想記憶方式」です。

仮想的なアドレス空間と物理的なアドレス空間を別のものとして取り扱って、ページテーブルで対応付けをするというやり方はいかにもややこしいですが、これにより物理的な主記憶メモリ以上のメモリを確保できるというのはいいことですよね。考えた人はやっぱり頭いいなーと思います。

仮想記憶方式を採用するとどうしても物理メモリに情報がない瞬間が存在するわけだけれでも、このとき走る処理が「2ページフォールト」っていう割り込み処理で必要な情報のかたまり(ページという)を物理メモリ上のどこかの情報のかたまりと置き換えるってワケ。※情報を入れることをページイン、出すことをページアウトという。

じゃあどこと置き換えるのよってなったときに走るアルゴリズムには2種類があって、試験にでるんだなー。

  • FIFO:ページインしてから最も時間が経過しているページを置き換える
  • LRU:参照されていない時間が最も長いページを置き換える

ぱっと見た感じLRUの方が合理的に思えるのですがどうなんでしょうかね?