作業系統之頁面置換演算法

2021-07-04 15:29:47 字數 1250 閱讀 8217

在請求分頁儲存管理系統中,由於使用了虛擬儲存管理技術,使得所有的程序頁面不是一次性地全部調入記憶體,而是部分頁面裝入。這就有可能出現下面的情況:要訪問的頁面不在記憶體,這時系統產生缺頁中斷。作業系統在處理缺頁中斷時,要把所需頁面從外存調入到記憶體中。如果這時記憶體中有空閒塊,就可以直接調入該頁面;如果這時記憶體中沒有空閒塊,就必須先淘汰乙個已經在記憶體中的頁面,騰出空間,再把所需的頁面裝入,即進行頁面置換。

常見的頁面置換演算法有:先進先出法(fifo)、最佳置換法(opt)和最近最少使用置換法(lru)。

先進先出(fifo)演算法:顧名思義就是把頁面中最先存在的,最先置換出來。例如:1,2,3,4,5,1,2,5,1,2,3,4,5。當記憶體塊數量為3時,求先進先出演算法的缺頁次數。

記憶體塊3個12

3451

2512

3451

1112

3451

2322

2345

1234

3345

1234

5 由上圖可知,當記憶體塊為3塊時,缺頁數為10。

優缺點:先進先出法(fifo)簡單易於實現,但是效能不好,存在如果對—個程序未分配它所要求的全部頁面,有時就會出現分配的頁面數增多但缺頁率反而提高的異常現象。

最佳置換(opt)演算法:就是把將來最遠或不在會置換進來的頁面置換出去。例如:1,2,3,4,5,1,2,5,1,2,3,4,5。當記憶體塊數為3時,求最佳置換演算法的缺頁數。

記憶體塊3個12

3451

2512

3451

1111

1332

2222

2433

4555

由上圖可知,當記憶體塊為3時,缺頁數為7。

優缺點:opt演算法因為要需要預先知道乙個程序在整個執行過程中頁面走向的全部情況,因此只是一種理想狀態,實際是行不通的。一般用演算法來衡量(如通過模擬實驗分析或理論分析)其他演算法的優劣。

最近最少使用演算法(lru):就是把,最近最久沒有使用過的頁面數置換出去。例如:1,2,3,4,5,1,2,5,1,2,3,4,5。當記憶體塊數為3時,求最少使用演算法的缺頁數。

記憶體塊3個12

3451

2512

3451

1114

4422

2522

2255

5333

3333

1114

4 由上圖可知,當記憶體塊為3時,缺頁數為10。

優缺點:lru演算法是經常採用的頁面置換演算法。缺點是實現上需要大量的硬體支援。

作業系統之頁面置換演算法

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

作業系統之頁面置換演算法

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

作業系統 頁面置換演算法

1 最佳頁面置換演算法 opt 其所選擇的被淘汰頁面,將是以後永不再用的,或許是在最長 未來 時間內不再被訪問的頁面。最佳置換演算法是一種理想化的演算法,具有最好的效能,但難於實現。先進先出置換演算法最直觀,但可能性能最差,故應用極少。優點 保證獲得最低的缺頁率 缺點 無法預知乙個程序在記憶體的若干...