作業系統 頁面置換演算法

2021-08-03 08:10:03 字數 971 閱讀 9971

1- 最佳頁面置換演算法(opt):

其所選擇的被淘汰頁面,將是以後永不再用的,或許是在最長(未來)時間內不再被訪問的頁面。

最佳置換演算法是一種理想化的演算法,具有最好的效能,但難於實現。先進先出置換演算法最直觀,但可能性能最差,故應用極少。

優點:保證獲得最低的缺頁率

缺點:無法預知乙個程序在記憶體的若干個頁面。

2- 先進先出演算法(fifo):

先進先出演算法(fifo)。 fifo演算法認為先調入記憶體的頁不再被訪問的可能性要比其他頁大,因而選擇最先調入記憶體的頁換出。

方法:把各個已分配頁面按分配時間順序鏈結起來,組成fifo佇列,並設定一置換指標指向fifo佇列的隊首頁面。這樣,當要進行置換時,只需把置換指標所指的fifo佇列前頭的頁順次換出,而把換入的頁鏈結在fifo隊尾即可。

缺點:

演算法與程序的實際執行規律不相適應,因為程序中的某些頁面經常被訪問,但先進先出置換演算法不能保證這些頁面不被淘汰。

由實驗和測試發現fifo演算法的記憶體利用率不高。

先進先出演算法(fifo)陷阱現象:

一般來說,對於任一程序,如果給它分配的記憶體頁面數越接近於它所要求的頁面數,則發生缺頁的次數會越少。在極限情況下,這個推論是成立的。因為如果給乙個程序分配了它所要求的全部頁面,則不會發生缺頁現象。

但是,使用fifo演算法時,在未給程序分配足它所要求的頁面數時,有時會出現分配的頁面數增多,缺頁次數反而增加的奇怪現象。這種現象稱為belady現象。

3- 最近最久未使用置換演算法(lru):

基本思想: 當需要淘汰某一頁時,選擇離當前時間最近的一段時間內最久沒有使用過的頁先淘汰。

該演算法的主要出發點是,在前面幾條指令中使用頻繁的頁面很可能在後面的幾條指令中頻繁使用。反過來說,已經很久沒有使用的頁面很可能在未來較長的一段時間內不會被用到(區域性性原理 ) 。

作業系統 頁面置換演算法

我在很多地方遇到了這個問題,所以想寫來看看,避免在以後換回再次的遇到這個問題,就在今天進行深入的了解下這個問題,我先它會對我以後的生活工作會有很大的幫助的。在位址對映過程中,若在頁面中發現所要訪問的頁面不再記憶體中,則產生缺頁中斷。當發生缺頁中斷時作業系統必須在記憶體中選擇乙個頁面將其移出記憶體,以...

作業系統 頁面置換演算法

作業系統將記憶體按照頁的進行管理,在需要的時候才把程序相應的部分調入記憶體。當產生缺頁中斷時,需要選擇乙個頁面寫入。如果要換出的頁面在記憶體中被修改過,變成了 髒 頁面,那就需要先寫會到磁碟。頁面置換演算法,就是要選出最合適的乙個頁面,使得置換的效率最高。頁面置換演算法有很多,簡單介紹幾個。首先介紹...

作業系統 頁面置換演算法

把記憶體已無空閒空間時選擇換出頁面的演算法稱為頁面置換演算法 page replacement algorithms 不適當的演算法可能會導致程序發現 抖動 即剛被換出的頁很快又要被訪問,需要將它重新調入,可能會出現頻繁地更換頁面,以致乙個程序在執行中把大部分時間都花費在頁面置換工作上。乙個好的頁面...