頁置換演算法FIFO LRU OPT

2021-06-19 23:19:46 字數 1161 閱讀 7807

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

考慮下述頁面走向:

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

當記憶體塊數量分別為3時,試問fifo、lru、opt這三種置換演算法的缺頁次數各是多少?

答:缺頁定義為所有記憶體塊最初都是空的,所以第一次用到的頁面都產生一次缺頁。

當記憶體塊數量為3時:

發生缺頁中斷的次數為16。

在fifo演算法中,先進入記憶體的頁面被先換出。當頁6要調入時,記憶體的狀態為4、1、5,考查頁6之前調入的頁面,分別為5、1、2、4,可見4為最先進入記憶體的,本次應換出,然後把頁6調入記憶體。

發生缺頁中斷的次數為15。

在lru演算法中,最近最少使用的頁面被先換出。當頁6要調入時,記憶體的狀態為5、2、1,考查頁6之前調入的頁面,分別為5、1、2,可見2為最近一段時間內使用最少的,本次應換出,然後把頁6調入記憶體。

發生缺頁中斷的次數為11。

在opt演算法中,在最遠的將來才被訪問的頁面被先換出。當頁6要調入時,記憶體的狀態為1、2、5,考查頁6後面要調入的頁面,分別為2、1、2、…,可見5為最近一段時間內使用最少的,本次應換出,然後把頁6調入記憶體。

lru演算法:選擇近期最少訪問的頁作為被替換頁。 無belady異常

fifo演算法:是乙個實現起來比較簡單的頁面置換演算法,其基本原則是「選擇最早進入主存的頁面淘汰」,理由是最早進入的頁面,其不再使用的可能性比最近調入的頁面要大。有belady異常

opt演算法:根據未來實際使用情況將未來的近期裡不用的頁替換出去。這種演算法是用來評價期它替 換算法好壞的標準。不可能實現。所選擇的被淘汰頁面將是以後永不使用的,或者是在最長時間內不再被訪問的頁面,這樣可以保證獲得最低的缺頁率。無belady異常

FIFO, LRU, OPT 頁面置換演算法

include define row 3 define col 20 int pagein col int output row col struct memory struct memory memory row void init printf n void fifo for j 0 joutp...

處理缺頁中斷(FIFO LRU OPT置換演算法)

缺頁中斷就是要訪問的頁不在主存,需要作業系統將其調入主存後再進行訪問。在這個時候,被記憶體對映的檔案實際上成了乙個分頁交換檔案。置換最先調入記憶體的頁面,即置換在記憶體中駐留時間最久的頁面。按照進入記憶體的先後次序排列成佇列,從隊尾進入,從隊首刪除。但是該演算法會淘汰經常訪問的頁面,不適應程序實際執...

FIFO LRU OPT這三種置換演算法的缺頁次數

出處 考慮下述頁面走向 1 2,3 4,2 1,5 6,2 1,2 3,7 6,3 2,1 2,3 6當記憶體塊數量分別為 3時,試問 fifo lru opt 這三種置換演算法的缺頁次數各是多少?答 缺頁定義為所有記憶體塊最初都是空的,所以第一次用到的頁面都產生一次缺頁。當記憶體塊數量為3時 發生...