其被廣泛利用於分層的存儲體系之中.
有時候需要依照某種算法在內存中將不用的頁給淘汰掉,再把需要的頁調入.
抖動:給任務加了資源,希望任務做的更好,反而任務的效率更低了.
缺頁:在內存中調用該頁面的時候,內存中沒有該頁面,需要再將該頁面調入到內存中,就是缺頁
最優算法:是理論層面上的頁面淘汰算法,是在已經知道訪問的完整頁面序列是怎么樣的,根據這個頁面的序列來算出什么時候淘汰什么頁面,能夠取得最高的效率,針對不同的使用場景是不同的.
先進先出算法:淘汰頁面的時候先選擇最先進入內存的頁面.
先進先出算法是這樣的:
第一行代表的是要訪問這個頁面的序列
第一列代表的是內存的三個頁面(開始這三個頁面都是空的)
FIFO:在內存提供的頁面已經都被使用的時候,先淘汰最先調入內存中的頁面
LRU:在內存提供的頁面已經都被使用的時候,先淘汰最老使用次數最少的頁面
練習題
沒有使用快表:說明我們每讀一次程序的塊,需要先在內存中查一下表,才能讀取相應的塊,所以每一個塊需要產生2次內存的訪問
而這總共擁有六個塊,所以會產生12次對內存的訪問.
指令只產生一次缺頁,因為指令會一次性讀入,而操作數會產生倆次缺頁.1+2*2=5