实验二模拟LRU页面置换算法
一、实验目的
1)用C或C++模拟LRU页面置换算法
2)掌握LRU页面置换算法的调度过程
二、实验内容
设计一个虚拟存储系统,编写程序模拟LUR页面置换算法,通过程序输出淘汰的页面并计算出命中率:示列:
随机输入页面访问串:
70120XXXX321201
随机输入内存驻留集大小:3(驻留集初始状态为空)
三、实验要求
要求访问页面号、驻留集都是随机输入,驻留集初始状态下为空。实验代码:
include
usingnamespacestd;
intjudge(intq[],intrear,intfront,intnum)
for(inti=rear;iif(q[i]==num)
returni;
return-1;
voidf(intq[],intrear,intt)
for(inti=t;i>rear;i--)
q[i]=q[i-1];
voidshow(intq[],intrear,intfront){
for(inti=rear;i<=front;i++)cout<cout<voiddeal(inta[],intn,intm)
intrear=0;
intfront=-1;
intq[m];
inttemp=0;
intcount=0;
for(inti=0;iintt=judge(q,rear,front,a[i]);q[++front]=a[i];
if(tempif(t!=-1)
f(q,rear,t);
cout<
count++;
else
temp++;
else
if(t!=-1)
f(q,rear,t);
cout<
count++;
else
cout<cout<<"命中率为:"<intmain()
intn;
intm;
cout<<"请输入要访问的页面序列个数:";
cin>n;
cout<<"请输入驻留值的大小:";
cin>m;
inta[n];
cout<<"请输入要访问的"<cin>a[i];
deal(a,n,m);
运行结果: