プログラムで使用可能な実メモリ枠が3ページである仮想記憶システムにおいて、大きさ6ページのプログラムが実行されたとき、ページフォールトは何回発生するか。
ここで、プログラム実行時のページ読込み順序は、0、1、2、3、4、0、2、4、3、1、4、5とする。
ページング方式は、LRU(Least Recently Used)とし、初期状態では、実メモリにはいずれのページも読み込まれていないものとする。
| ア | 9 |
| イ | 10 |
| ウ | 11 |
| エ | 12 |
答え イ
【解説】
LRUのページング方式では、最も長い時間アクセスがないページをページアウトするページ置き換えアルゴリズムなので、アクセスしてから最も時間の経っているものを右において図にまとめると
| 読み込むページ | メモリ枠の状態 | ページフォルトの有無 |
| 0 | 0 | 有 |
| 1 | 1 0 | 有 |
| 2 | 2 1 0 | 有 |
| 3 | 3 2 1 | 有 |
| 4 | 4 3 2 | 有 |
| 0 | 0 4 3 | 有 |
| 2 | 2 0 4 | 有 |
| 4 | 4 2 0 | 無 |
| 3 | 3 4 2 | 有 |
| 1 | 1 3 4 | 有 |
| 4 | 4 1 3 | 無 |
| 5 | 5 4 1 | 有 |
【キーワード】
・ページフォールト