LRU(最近最少使用淘汰算法)基本实现

标签:原理   class   lru   for   col   内存   ext   入栈   bsp   

 

LRU(Least Recently Used)

  • 出发点:在页式存储管理中,如果一页很长时间未被访问,则它在最近一段时间内也不会被访问,即时间局部性,那我们就把它调出(置换出)内存。
  • 为了实现LRU淘汰算法,需要一些特殊的硬件支持。
  • 三种可行方法
  1. 计数器法
  2. 特殊栈法
  3. 寄存器法

下面给出,栈法的实现代码:

原理:

 

 1 #include <iostream>
 2 using namespace std;
 3 
 4 void conduct(int Size, int Num, int A[100]);//处理函数
 5 void print(int a[], int num);//输出函数
 6 
 7 int main()
 8 {
 9     int stack_size, num, i, acess[100];
10     cout << "输入栈空间:" ;
11     cin >> stack_size;
12     cout << "输入进程数(Max=100):" ;
13     cin >> num;
14 
15     cout << "输入进程访页顺序:" ;
16     for(i=0; i<num; i++)
17     {
18         cin >> acess[i];
19     }
20 
21     conduct(stack_size, num, acess);
22 
23     return 0;
24 }
25 
26 void conduct(int Size, int Num, int A[100])
27 {

LRU(最近最少使用淘汰算法)基本实现

扫一扫手机访问