页面置换算法实验报告(五篇模版).docx 立即下载
2025-08-28
约2.6万字
约56页
0
33KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

页面置换算法实验报告(五篇模版).docx

页面置换算法实验报告(五篇模版).docx

预览

免费试读已结束,剩余 51 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

页面置换算法实验报告(五篇模版)

第一篇:页面置换算法实验报告计算机体系结构实验报告班级:计科姓名:张华敏学号:0902班0909090814FIFU算法一,实验内容:编写一段程序来模拟页面置换算法中的FIFU算法的实现二,算法设计:设置一个产生随机数的函数rand()产生随机数来模拟程序所需访问的页面的标号,如果页面需要被访问则把页面中的一个标志位设为in表示他已经被调入内存,如果再次需要访问此页面是只需检查此页面的标志位是否为in就可判断它是否已经存在在内存中了,如果已经存在则可直接使用,如果不存在则需调入,在调入新页面是先检查内存空间是否已满,如果未满则直接调入,如果已经满了则需选择一个页面将其调出,调出时就把页面的标志位设为out。选择页面的规则是:将进入内存时间最久的页面调出去,为了达到这一目的,在页面中设置一个计数器,每当有新页面调入内存时则将内存中已经存在的页面计数器自动加一,调出页面时就选择那个计数器最大值的页面,调出后重新将计数器设为零。三,遇到的问题及解决方案:在做此实验时遇到了一些小问题,如在C语言中函数名定义为export()则会报错。在调用有返回值的函数是如果直接ints=use(pag)则会运行出错,要先分开写如:ints,s=use(pag).四,源代码头文件.cpp#include#includeintt;//全局变量,用来盛放rand()函数产生的随机数enumboolean{in,out};//定义一个枚举类型/////////如果把in,out换成true,false则会处错误typedefstruct{intnum;//页面编号charcontent;//页面内容enumbooleanflog;//判断此页面是否页调入,调入为true,否则为false;intcount;//页面计数器intusebit;//使用位,被使用过值为1,否则为0}page;FIFU.cpp#include#include#include#include“头文件.cpp”intcapacity=3;//设置内存最多可以容纳的页面数voidinitialize(pagep[])//初始化页面函数{for(inti=0;iintuse(pagep[]){t=rand()%5;//产生一个0-5的随机数,if(p[t].flog==in){printf(“tt%d页面命中n”,t);//for(inti=0;ivoidimport(pagep[])//调入页面的函数{/*intt=rand()%5;//产生一个0-5的随机数,if(p[t].flog==in)printf(“tt%d页面命中n”,t);*///if(p[t].flog==out)//如果此页面未被调入内存则立即调入p[t].flog=in;capacity--;//调入后内存空间减少一叶for(inti=0;ivoidport(pagep[])//调出页面的函数,,,,,,,,,,,如果函数名定义为export则处错误{intx=0,y;//x用来暂时存放计数器中的最大值,y存放此页面的页面号for(inti=0;ix){x=p[i].count;y=i;}}p[y].flog=out;//修改调入符号p[y].count=0;capacity++;//调入后内存空间增加一叶printf(“ttt页面%d被调出内存n”,y);}main(){ints;longt3,t1,t2;pagepag[5];//定义五个页面,,,,,,,,,,,如果这个定义在子函数之前那么不用通过参数子函数便可以直接访问t3=time(NULL);initialize(pag);do{t1=time(NULL);s=use(pag);//,,,,,,,,,,,,,,如果这里写成ints=use(pag)则会运行出错//printf(“s=%dcapacity=%dn”,s,capacity);if(capacity>0&&s==0)import(pag);else{if(capacity==0&&s==0){port(pag);import(pag);}}t2=time(NULL);while(t2-t1五,测试结果:LFU算法一,实验内容:编写一段程序来模拟页面置换算法中的LFU算法的实现二,算法设计:设置一个产生随机数的函数rand()产生随机数来模拟程序所需访问的页面的标号,如果页面需要被访问则把页面中的一个标志位设为in表示他已经被调入内存,如果再次需要访问此页面是只需检查此页面的标志位是否为in就可判断它是否已经存在在内存中了,如果已经存在则可直接使用,如果不存在则需调入,在调入新页面是先检查内存空间是否已满,如果未满则直接调入,如果已经满了则需选择一个页面将其调
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

页面置换算法实验报告(五篇模版)

文档大小:33KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用