(轉(zhuǎn))FIFO、LRU、OPT這三種置換算法的缺頁次數(shù)

考慮下述頁面走向:
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
當(dāng)內(nèi)存塊數(shù)量分別為3時,試問FIFO、LRU、OPT這三種置換算法的缺頁次數(shù)各是多少?
答:缺頁定義為所有內(nèi)存塊最初都是空的,所以第一次用到的頁面都產(chǎn)生一次缺頁。
當(dāng)內(nèi)存塊數(shù)量為3時:

發(fā)生缺頁中斷的次數(shù)為16。
  在FIFO算法中,先進(jìn)入內(nèi)存的頁面被先換出。當(dāng)頁6要調(diào)入時,內(nèi)存的狀態(tài)為4、1、5,考查頁6之前調(diào)入的頁面,分別為5、1、2、4,可見4為最先進(jìn)入內(nèi)存的,本次應(yīng)換出,然后把頁6調(diào)入內(nèi)存。


發(fā)生缺頁中斷的次數(shù)為15。

LRU是Least Recently Used的縮寫,即最近最少使用頁面置換算法,是為虛擬頁式存儲管理服務(wù)的。該算法的初衷是有內(nèi)存管理而被提出來的,其目的是為解決“如何節(jié)省利用容量不大的內(nèi)存為最多的進(jìn)程提供資源”時如何減少過多的讓進(jìn)程去讀取外存。 這里以鏈表法來實現(xiàn)LRU: 一點介紹 操作系統(tǒng)為每個進(jìn)程維護(hù)一條鏈表,鏈表的每個結(jié)點記錄一張頁面的地址。調(diào)用一次頁面,則把該頁面的結(jié)點從鏈中取出,放到鏈尾;要裝入新頁,則把鏈頭的頁面調(diào)出,同時生成調(diào)入頁面的結(jié)點,放到鏈尾。

在LRU算法中,最近最少使用的頁面被先換出。當(dāng)頁6要調(diào)入時,內(nèi)存的狀態(tài)為5、2、1,考查頁6之前調(diào)入的頁面,分別為5、1、2,可見2為最近一段時間內(nèi)使用最少的,本次應(yīng)換出,然后把頁6調(diào)入內(nèi)存。

發(fā)生缺頁中斷的次數(shù)為11。
    在OPT算法中,在最遠(yuǎn)的將來才被訪問的頁面被先換出。當(dāng)頁6要調(diào)入時,內(nèi)存的狀態(tài)為1、2、5,考查頁6后面要調(diào)入的頁面,分別為2、1、2、…,可見5為最近一段時間內(nèi)使用最少的,本次應(yīng)換出,然后把頁6調(diào)入內(nèi)存。

最不經(jīng)常使用(Least Frequently Used --LFU) 頁置換算法,要求在頁置換時置換引用計數(shù)最小的頁,因為經(jīng)常使用的頁應(yīng)該有一個較大的引用次數(shù)。但是有些頁在開始時使用次數(shù)很多,但以后就不再使用,這類頁將會長時間留在內(nèi)存中,因此可以將引用計數(shù)寄存器定時右移一位,形成指數(shù)衰減的平均使用次數(shù)。

注意LFU與LRU的區(qū)別,LFU一定是使用次數(shù)最少并且最近的被淘汰,而LRU被淘汰的是離上一次使用時間最長的。。
OPT算法因為要知道后面請求的頁框,因此我覺得這個算法有個小小的bug,如果在某個請求中,若在該請求的頁框之后的頁框序列中至少存在一個和當(dāng)前內(nèi)存塊中不匹配的頁框,則按照內(nèi)存塊的順序(從上往下)替換沒有出現(xiàn)的頁框。比如上面那個OPT例子。對于最后一個頁框請求,因為6未命中,且6之后沒有請求的序列,因此應(yīng)該替換3,所以替換后的序列為6 , 2 ,1 當(dāng)然,這只是針對做題而言。

轉(zhuǎn)自http://blog.csdn.net/tounaobun/article/details/8441493

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 8.1虛擬存儲的需求背景 虛擬內(nèi)存是非連續(xù)內(nèi)存分配的一個延續(xù),非連續(xù)內(nèi)存分配在存儲空間內(nèi)可以連續(xù)也可以不連續(xù)。虛擬...
    龜龜51閱讀 5,902評論 2 6
  • 進(jìn)程運行時,若其訪問的頁面不在內(nèi)存而需將其調(diào)入,但內(nèi)存已無空閑空間時,就需要從內(nèi)存中調(diào)出一頁程序或數(shù)據(jù),送入磁盤的...
    saviochen閱讀 3,061評論 0 6
  • 一、虛擬存儲技術(shù) 所謂虛擬存儲技術(shù)是指:當(dāng)進(jìn)程運行時,先將其一部分裝入內(nèi)存,另一部分暫留在磁盤,當(dāng)要執(zhí)行的指令或訪...
    yjaal閱讀 3,571評論 0 6
  • 一 理論是什么? 1 理論的定義: 理論是一套運用邏輯思維的方式反映現(xiàn)實的因果聯(lián)系的結(jié)構(gòu)化概念體系。 邏輯思維是人...
    德生筆記閱讀 2,772評論 0 0
  • 巴梨_閱讀 382評論 2 1