三種頁面置換演算法(詳解)

2021-09-25 20:06:39 字數 1717 閱讀 3609

位址對映過程中,若在頁面中發現所要訪問的頁面不在記憶體中,則產生缺頁中斷。當發生缺頁中斷時,如果作業系統記憶體中沒有空閒頁面,則作業系統必須在記憶體選擇乙個頁面將其移出記憶體,以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換演算法

一、先進先出(fifo)

1)原理:把記憶體中駐留時間最久的頁面置換演算法予以淘汰

2)舉例:

在分頁中,採用fifo頁面置換演算法,序列 4,3,2,1,4,5,4,3,2,1,5,當物理塊為3時,計算缺頁次數和缺頁率?

演算法執行如下操作步驟:

當數字不在框中,橫著找最長的連續數字(劃掉),將新的數字填入

當數字在框中,則不做改變,即空白列

缺頁次數=總列數-空白列數=9

缺頁率=缺頁數/總列數=75%

(3)特點

優點:先進先出演算法實現簡單,是最直觀的乙個演算法

缺點:先進先出的效能最差,因為與通常頁面的使用規則不符合,所以實際應用少

二、最近最久未使用(lru)

(1)原理:選擇最近且最久未被使用的頁面進行淘汰

(2)舉例:

在分頁中,採用lru頁面置換演算法,序列 7,0,1,2,0,3,0,4,2,3,0,3,2,0,1,7,0,1當物理塊為3時,計算缺頁次數和缺頁率?

演算法執行如下操作步驟:

當數字不在框中,從頭找第乙個未被劃掉的數字進行替換

當數字在框中,劃掉從前往後數和數字一樣的第乙個數字

3)特點

優點:由於考慮程式訪問的時間區域性性,一般能有較好的效能;實際應用多

缺點:實現需要較多的硬體支援,會增加硬體成本

三、最佳置換演算法(opt)

(1)原理:每次選擇未來長時間不被訪問的或者以後永不使用的頁面進行淘汰。

(2)舉例:假定系統為某程序分配了三塊物理塊,並有以下頁面:

7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

演算法執行如下操作步驟:

當數字在框中,則不做改變,繼續向後

(3)特點

缺點:最佳置換演算法是一種理想化演算法,具有較好的效能,但是實際上無法實現(無法預知乙個程序中的若干頁面哪乙個最長時間不被訪問);

優點:最佳置換演算法可以保證獲得最低的缺頁率

三種頁面置換演算法

1 為什麼要有頁面置換演算法 程式執行過程中,有時要訪問的頁面不在記憶體中,而需要將其調入記憶體。但是記憶體已經無空閒空間儲存頁面,為保證程式正常執行,系統必須從記憶體中調出一頁程式或資料送到磁碟對換區,此時需要一定的演算法來決定到低需要調出那個頁面。通常將這種演算法稱為 頁面置換演算法 2.頁面置...

三種頁面置換演算法

1 為什麼要有頁面置換演算法 程式執行過程中,有時要訪問的頁面不在記憶體中,而需要將其調入記憶體。但是記憶體已經無空閒空間儲存頁面,為保證程式正常執行,系統必須從記憶體中調出一頁程式或資料送到磁碟對換區,此時需要一定的演算法來決定到低需要調出那個頁面。通常將這種演算法稱為 頁面置換演算法 2.頁面置...

作業系統 三種頁面置換演算法

一 演算法描述 1.先進先出 fifo 置換演算法 1 描述 fifo演算法是最早出現的置換演算法。該演算法總是淘汰最先進入記憶體的頁面,即選擇在記憶體中駐留時間最久的頁面予以淘汰。2 優點 該演算法實現簡單,只需要把乙個程序已調入記憶體的頁面按先後次序鏈結成乙個佇列,並設定乙個指標,稱為替換指標,...