1. 程式人生 > >FIFO和LRU計算缺頁中斷

FIFO和LRU計算缺頁中斷

本文參考一點選
參考二點選
在一個請求分頁面管理中,一個程式的頁面走向為1、2、3、4、1、2、5、1、2、3、4、5。
當記憶體塊數量為3時,試問使用
(1)FIFO頁面置換演算法
(2)LRU頁面置換演算法
(開始時沒有裝入頁面)時的缺頁中斷次數是多少()

 
FIFO:
頁    4        1           2          5          1           2          3           4         5
記憶體  423      413         412        512        no          no         532         534       no
LRU:
頁     4       1           2          5          1          2           3          4          5
記憶體   423     413         412        512        no         no          312        342        345


(缺頁發生  也就是需要進行交換,初始裝入記憶體的三個頁是不發生缺頁的 所以從4開始)
上面是裝入的頁面   下面是裝入後記憶體的狀態 (no代表不缺頁)

FIFO是先進先出,總是淘汰最先進入記憶體的頁面,即選擇在記憶體中駐留時間最久的頁面進行淘汰。
(此演算法是基於記憶體塊的順序, 按訪問的時間先後順序連結成一個佇列,並設定一個指標,該指標始終指向“最老“的頁面。LRU 是更新最長未使用的頁面,這個演算法是根據頁面值來交換的。 也就是新裝入的頁面值如果在記憶體塊裡面有,就會更新這個頁面的某個標記狀態(標記其多久未使用,其實就是個變數,很容易實現) 顯然一直到5都是和FIFO演算法是一樣的,為什麼呢,因為前幾頁都是缺頁的,並沒有改變標記變數,所以就先裝入,則距今未使用時間最長,則先交換的原則啦 開始需要 1(5後面那個) 那麼記憶體目前狀態時 512, 1是在記憶體中的不發生缺頁,所以更新標記變數(標明 1剛被使用過)。 然後需要 2 記憶體中依然存在,則更新2的 標記變數,現在記憶體中仍然是 512 ,但是標記變數已經變了, 2最新,1次之,5最久(最久未使用),所以下次交換就先換 5,記憶體變為 321 。現在 3最新,2次之,1最久,下次缺頁就換1。 思路就是這樣啦,由於我也是剛學,可能分析中也有錯誤,如果發現,請見諒。希望有幫助
http://zhidao.baidu.com/link?url=T9qi3oc38yEsYUtDHztLSVq7F2EgSdzJ9gI-cgXkBc4MW6g8RTF88xLQM9Fq7D-r2JX0by2Xx6uLJL0xDjCO_q

    在一個虛擬儲存管理系統中,假如系統分配給一個作業的記憶體物理塊數是3,並且此作業的頁面使用順序為2,3,2,1,5,2,4,5,3,2,5,2,若採用FIFO和LRU置換演算法,其產生的缺頁次數分別為( )和( ) 。

答案是這樣的:
題目中當採用FIFO時,其頁面排程過程如下:
2  3  2  1  5  2  4  5  3  2  5  2 

――――――――――――――
2        2  2  2  5  5  5  5  3  3  3  3
3  3  3  3  2  2  2  2  2  5  5
1  1  1  4  4  4  4  4  2
可知缺頁次數為9。同樣若採用LRU演算法,可計算其缺頁次數為7。
關於這個建議你看下作業系統的相關知識.

以下給出我的演算法:

FIFO:

當前所需:
2  3  2  1  5  2  4  5  3  2  5  2
----------------------
當前記憶體:
2  2  2  2  5  5  5  5  3  3  3  3
    3  3  3  3  2  2  2  2  2  5  5
            1  1  1  4  4  4  4  4  2
---------------------
是否缺頁:
*  *      *  *  *  *      *      *  *     

(FIFO)=9次


LRU:

當前所需:
2  3  2  1  5  2  4  5  3  2  5  2
----------------------
當前記憶體:
2  2  3  3  2  1  5  2  4  5  3  3
    3  2  2  1  5  2  4  5  3  2  5
            1  5  2  4  5  3  2  5  2
---------------------
是否缺頁:
*  *      *  *      *      *  *                           

(LRU)=7次