fifo演算法 先入先出,即淘汰最早調入的頁面。
opt(min)演算法 選未來最遠將使用的頁淘汰,是一種最優的方案,可以證明缺頁數最小。 可惜,min需要知道將來發生的事,只能在理論中存在,實際不可應用。
lru(least-recently-used)演算法 用過去的歷史**將來,選最近最長時間沒有使用的頁淘汰(也稱最近最少使用)。 lru準確實現:計數器法,頁碼棧法。 由於代價較高,通常不使用準確實現,而是採用近似實現,例如clock演算法。
記憶體抖動現象: 頁面的頻繁更換,導致整個系統效率急劇下降,這個現象稱為記憶體抖動(或顛簸)。抖動一般是記憶體分配演算法不好,記憶體太小引或者程式的演算法不佳引起的。
belady現象: 對有的頁面置換演算法,頁錯誤率可能會隨著分配幀數增加而增加。 fifo會產生belady異常。 棧式演算法無belady異常,lru,lfu(最不經常使用),opt都屬於棧式演算法
頁面置換演算法
常用的頁面置換演算法有三種 先進先出演算法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 理想置換演算法 這是一種理想情況下的頁...