最近最久未使用

2021-09-03 03:36:59 字數 1285 閱讀 9570

最近最久未使用(lru)的頁面置換演算法是根據頁面調入記憶體後的使用情況做出決策的。由於無法**各頁面將來的使用情況,只能利用「最近的過去」作為「最近的將來」的近似,因此,lru置換演算法是選擇最近最久未使用的頁面予以淘汰。該演算法賦予每個頁面乙個訪問字段,用來記錄乙個頁面自上次被訪問以來所經歷的時間t。當需要淘汰乙個頁面時,選擇現有也麵中t值最大的,即最近最久未使用的頁面予以淘汰。

訪問頁面70

1203

0423

0321

2017

01物理塊177

7224

4401

11物理塊200

0000

3230

0物理塊311

3322

3227

#include#include#include#include#include#includeusing namespace std;

class optimal

optimal()

~optimal()

bool operator

bool operator>(optimal&s)

bool operator==(const optimal&s) };

istream & operator>>(istream & i, optimal&o)

ostream & operator<

void main()

else

}if (istrue == false)

(*ib).dis = ++x;}}

list::iterator s = max_element(w.begin(), w.end());

w.remove(*s);

optimal p = v.front();

v.pop_front();

l.push_back(p);

w.push_front(p);

copy(w.begin(), w.end(), ostream_iterator(cout, "\t"));

cout << endl;

}else

}} cin.get();

}

data.txt檔案

測試結果:

LRU最近最久未使用演算法

標籤 演算法 作業系統 舉報 作業系統知識庫 c 21 作者同類文章x 作業系統學習 11 作者同類文章x 最近最久未使用演算法需要引入記憶體塊時鐘,即為每個記憶體塊設定乙個計時器,用於記錄相應記憶體塊中的頁面已經存在的時間。每次置換選出所有記憶體塊時鐘中最大者作為被置換頁面,當頁面發生置換時,將其...

快取淘汰策略 最近最久未使用策略(LRU)

快取位於記憶體中,而記憶體的空間很有限,所以快取也有乙個能使用的最大空間,當快取中的資料超過這個最大空間時,就要使用快取淘汰策略淘汰一些資料,空出空間給其他資料使用。最近最久未使用策略,優先淘汰最久未使用的資料,也就是上次被訪問時間距離現在最久的資料。該策略可以保證記憶體中的資料都是熱點資料,也就是...

最近最久未使用和最少使用置換演算法的區別

選擇最近時期最久沒被使用的頁面予以淘汰。淘汰的標準是時間 選擇在最近時期使用最少的頁面作為淘汰頁。淘汰的標準是一段時間之內的使用頻率 兩種演算法都可以採用暫存器這一硬體實現。棧只適用於最近最久未使用置換演算法 該暫存器是移位暫存器,需要為每個頁面都配置乙個,用於記錄某個程序在記憶體中各頁的使用情況 ...