常見的頁面排程演算法
2012-05-22 14:45:05
分類: linux
a.隨機演算法rang(random algorithm)
利用軟體或硬體的隨機數發生器來確定主儲存器中被替換的頁面。這中演算法最簡單,而且容易實現。但是,這種演算法完全沒有利用主儲存器中頁面排程情況的歷史資訊,嗎也沒有反應程式的區域性性,所以命中率較低。
b.先進先出排程演算法(fifo)
先進先出排程演算法根據頁面進入記憶體的時間 先後選擇滔滔頁面,本演算法實現時需要將頁面按照進入的時間先後組成乙個佇列,每次排程隊首頁面予以淘汰。他的優點是比較容易實現,能夠利用主儲存器中頁面排程情況的歷史資訊,但是,他沒有反映程式的區域性性,因為最先調入主存的頁面,很可能也是經常要使用的頁面。
c.最近最少排程演算法 lfu
先進先出排程演算法沒有考慮頁面的使用情況,大多數情況下效能不佳。根據程式執行的區域性性特點,程式一旦方位了某些**和資料,則在一段時間內會經常訪問他們,因此最近最少用排程在選擇淘汰頁面是會考慮頁面最近的使用,總是選擇在最近一段時間以來最少使用的頁面予以淘汰。演算法實現是需要為每個頁面設定資料結構的記錄頁面自上次訪問以來所經歷的時間。
d.最近最不常用排程演算法 lru
由於程式設計中經常使用迴圈結構,根據程式執行的區域性性特點,可以設想在一段時間內經常被方位的diamo**和資料將來也會經常被方位,,顯然這樣的頁面不應該被淘汰。最近最不常用排程演算法總是根據一段時間內頁面的訪問次數開選擇淘汰頁面,沒次淘汰訪問次數最少的頁面。演算法實現是需要為每個頁面設定計數器,記錄訪問次數。計數器有硬體或作業系統自動定時清零。
e.最優替換演算法 opt
前面介紹的集中頁面排程演算法主要是以主存出奇中頁面排程情況的歷史資訊為依據的,他假設將來主存出器中頁面排程情況的歷史資訊為依據的,他假設將來主儲存器中的頁面排程情況與過去一段時間內主儲存器的頁面排程情況是相同的。顯然,這種假設不總是真確的,最好的演算法應該是選擇將來最久不被方位的頁面最為被替換的頁面,這種演算法命中率一定是最高的。他就是最優替換演算法,也實現opt演算法,唯一的方法就是讓程式先執行一邊,記錄下實際的頁位址流情況,根據這個頁位址流才能找出當前要被替換的頁面,顯然,這樣做是不現實的,因此,opt演算法只是一種理想化的演算法,然而,特也是一種很有用的演算法,實際上,經常把這種演算法用來作為評價其他頁面排程演算法好壞的標準,在其他條件相同的情況下,哪中頁面排程演算法的命中率與opt想進,那麼,他就是一種比較好的頁面置換演算法
卻也排程冊書和卻也中斷率,缺頁置換率計算:
缺頁中斷次數是缺頁是發出缺頁中的次數
缺頁中斷率=缺頁中斷次數/中的頁面引用次數
缺頁排程次數是調入新頁是需要進行頁面排程的次數
缺頁置換率=缺頁排程次數/總的頁面引用次數
2)判斷乙個頁面排程演算法好壞
一是命中率要高,而是演算法要容易實現。
2.李楚頁面排程演算法重要的應用
1.虛擬儲存器中,貯存頁面的替換
2.cache中的塊替換
3.虛擬儲存器中的快慢表中,塊表的替換
4.虛擬儲存其中,使用者基位址暫存器的替換
常見的頁面排程演算法
a.隨機演算法rang random algorithm 利用軟體或硬體的隨機數發生器來確定主儲存器中被替換的頁面。這中演算法最簡單,而且容易實現。但是,這種演算法完全沒有利用主儲存器中頁面排程情況的歷史資訊,嗎也沒有反應程式的區域性性,所以命中率較低。b.先進先出排程演算法 fifo 先進先出排程...
常見的頁面排程演算法
a.隨機演算法rang random algorithm 利用軟體或硬體的隨機數發生器來確定主儲存器中被替換的頁面。這中演算法最簡單,而且容易實現。但是,這種演算法完全沒有利用主儲存器中頁面排程情況的歷史資訊,嗎也沒有反應程式的區域性性,所以命中率較低。b.先進先出排程演算法 fifo 先進先出排程...
常見的幾種頁面排程演算法
常見的頁面排程演算法 a.隨機演算法rang random algorithm 利用軟體或硬體的隨機數發生器來確定主儲存器中被替換的頁面。這中演算法最簡單,而且容易實現。但是,這種演算法完全沒有利用主儲存器中頁面排程情況的歷史資訊,嗎也沒有反應程式的區域性性,所以命中率較低。b.先進先出排程演算法 ...