作業系統作業有一題不怎麼會,當時沒有認真聽講,老師又說期末考試的題目**於作業,這下我開始慌了,於是就各種查資料,按照網上的講解 就有了這個部落格。
fifo和lru
1,fifo 先進先出
思想: 置換最先調入記憶體的頁面,即置換在記憶體中駐留時間最久的頁面。按照進入記憶體的先後次序排列成佇列, 從隊尾 進入,從隊首刪除。但是該演算法會淘汰經常訪問的頁面,不適應程序實際執行的規律,目前已經很 少使用。
2,lru
最近最久未使用
思想:置換最近一段時間以來最長時間未訪問過的頁面。根據程式區域性性原理,剛被訪問的頁面,可能馬上又要被 訪問;而較長時間內沒有被訪問的頁面,可能最近不會被訪問。
lru演算法普偏地適用於各種型別的程式,但是系統要時時刻刻對各頁的訪問歷史情況加以記錄和更新,開銷太 大,因此lru演算法必須要有硬體的支援。
下面就作業中的一題進行例子講解
題目:對於請求分頁系統,假設有下列的頁面引用序列 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 假設分配4個物理頁,試分別計算採用fifo,lru頁面置換演算法的缺頁中斷率。
更正 到考試時才發現我理解錯了 附上正解
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
頁面1 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
頁面2 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3
頁面3 1,2,3,4,2,1,5,6,6,1,2,3,7,6,3,3,1,2
頁面4 1,1,3,4,2,1,5,5,6,1,2,2,7,6,6,6,1
1,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,0,0,0
缺頁中斷率:10/20×100%=50%
頁面置換演算法
常用的頁面置換演算法有三種 先進先出演算法fifo first in first out 該演算法的基本思想是首先淘汰那些駐留在主存時間最長的頁面。最近最久未用演算法 lru 該演算法的基本思想是 如果某一頁被訪問了,那麼它很可能馬上又被訪問 反之,如果某一頁很久沒被訪問,那麼最近也不會再訪問。lr...
頁面置換演算法
include using namespace std int process 100 頁面佇列 int memory 3 塊數 int optqueue 100 opt演算法的佇列 int fifoqueue 100 fifo演算法佇列 int lruqueue 100 lru演算法佇列 int ...
頁面置換演算法
位址對映過程中,若在頁面中發現所要訪問的頁面不再記憶體中,則產生缺頁中斷。當發生缺頁中斷時作業系統必須在記憶體選擇乙個頁面將其移出記憶體,以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換演算法。常見的置換演算法有 1 最佳置換演算法 opt 理想置換演算法 這是一種理想情況下的頁...