平成31年春期 午前問題19
仮想記憶管理におけるページ置換えアルゴリズムとしてLRU方式を採用する。主記憶のページ枠が,4000,5000,6000,7000番地(いずれも16進数)の4ページ分で,プログラムが参照するページ番号の順が,1→2→3→4→2→5→3→1→6→5→4のとき,最後の参照ページ4は何番地にページインされているか。ここで,最初の1→2→3→4の参照で,それぞれのページは4000,5000,6000,7000番地にページインされるものとする。
1->4(1)とは、ページ1が4000を参照するとすると、流れとアクセス順は下記となります:
1->4(1)
2->5(2)
3->6(3)
4->7(4)
2-> 5(2) 7(4)6(3)4(1)
5-> 4(5) 5(2)7(4)6(3)
3-> 6(3) 4(5)5(2)7(4)
1-> 7(1) 6(3)4(5)5(2)
6-> 5(6) 7(1)6(3)4(5)
5-> 4(5) 5(6)7(1)6(3)
4-> 6(4)
1、LRU(Least Recently Used)
最近で最も長い間使用されていないページを置き換え対象とするアルゴリズムです。
2、LFU(Least Frequently Used)
各ページに参照フラグと変更フラグを付加して管理し,参照なしかつ変更なしのページを優先して置き換える
3、FIFO(First In First Out)
最も長い間主記憶にあったページを置き換える
・ページングでは固定長の単位で行われるため、フラグメンテーション(メモリの断片化)は発生しません。
・ページフォールトが発生した場合は,置換え対象を決定した後、ページアウト/ページインが行われます。
・ページフォールトとは、
ページング方式の仮想記憶(仮想メモリ)において、プログラム(プロセス)がアクセスしようとした仮想メモリ領域(ページ)が物理メモリ上に無く、ストレージに退避していることが分かったときに発生する例外あるいは割り込み処理。
・フラグメンテーションとは、
破片、断片、砕ける、断片化する、などの意味を持つ英単語。ITの分野では、まとまったデータや記憶領域などを小さな単位に分割したり、意図せず小さな断片に分断されてしまうこと(および、そのような状態になったデータや領域自体のこと)などを意味する。
長時間コンピュータを起動して様々なプログラムを使用していると、メモリ領域についてにも似たような現象が起きることがあり、これを「メモリフラグメンテーション」という。
参考:
https://www.ap-siken.com/kakomon/20_haru/q23.html