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次


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章