刀刀网
您的当前位置:首页算法实验报告

算法实验报告

来源:刀刀网

实验二模拟LRU页面置换算法

一、实验目的

1)用C或C++模拟LRU页面置换算法

2)掌握LRU页面置换算法的调度过程

二、实验内容

设计一个虚拟存储系统,编写程序模拟LUR页面置换算法,通过程序输出淘汰的页面并计算出命中率:示列:

随机输入页面访问串:

70120XXXX321201

随机输入内存驻留集大小:3(驻留集初始状态为空)

三、实验要求

要求访问页面号、驻留集都是随机输入,驻留集初始状态下为空。实验代码:

include

usingnamespacestd;

intjudge(intq[],intrear,intfront,intnum)

for(inti=rear;i

if(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;i

intt=judge(q,rear,front,a[i]);q[++front]=a[i];

if(temp

if(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);

运行结果:

因篇幅问题不能全部显示,请点此查看更多更全内容