存储管理模拟程序 - 存储管理模拟程序

存储管理模拟程序 - 存储管理模拟程序

ID:12495122

大小:68.50 KB

页数:9页

时间:2018-07-17

存储管理模拟程序 - 存储管理模拟程序_第1页
存储管理模拟程序 - 存储管理模拟程序_第2页
存储管理模拟程序 - 存储管理模拟程序_第3页
存储管理模拟程序 - 存储管理模拟程序_第4页
存储管理模拟程序 - 存储管理模拟程序_第5页
资源描述:

《存储管理模拟程序 - 存储管理模拟程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、存储管理模拟程序1.设计目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。2.设计内容(1)通过输入或由程序产生程序执行时的页号序列,共32个页号。页号序列按下述原则生成:页号序列应具有一定随机性。(如:50%的顺序访问);(2)计算并输出下述各种算法在不同内存容量(4~32内存页面)下的命中率。①先进先出的算法(FIFO)②最近最少使用算法(LRU)③最佳淘汰算法(OPT):先淘汰最不常用的页地址④最少访问页面

2、算法(LFR)其中和为选择内容命中率=1-(页面失效次数/页地址流长度)3.程序设计:本程序首先用rand()函数定义和产生地址流序列,并针对不同的算法计算出相应的命中率。I根据实验内容将函数分成五个模块:1主程序模块,主要包括页面结构数组及页面控制结构定义,将指令流转换成页地址流2三个置换算法程序模块:FIFO算法模块,LRU算法模块,OPT算法模块,LFU算法模块II总程序模块流程图如下:4.源程序如下:#include#include#definemaxsize32##includedefinevpf20

3、0voidFIFO(inta[]);voidLRU(inta[]);voidOPT(inta[]);voidLFU(inta[]);intcount[maxsize];//intb[pf];inta[vpf];voidmain()//定义主函数。{for(inti=0;i<200;i++)//用随机数产生页地址流a[i]=rand()%32;FIFO(a);LFU(a);OPT(a);LRU(a);}voidLFU(inta[])//LFU算法{for(intn=4;n<33;n++)//不同的页面数计算命中率{intnum=0;intsame=0;intmin;

4、intminpage=0;intdis=0;inti=0;intk=0;intsum=n;//空白页面数intnum2=2;//设置清零时间间隔intb[maxsize];for(k=0;k

5、//无空白页面{min=201;for(k=0;kcount[k]){min=count[k];minpage=k;}}b[minpage]=a[i];if(num2==0)//每两次缺页计数器清零for(k=0;k

6、0;num2=3;}num2--;count[n-sum]=1;sum--;}}}}printf("%d",n);printf("pageframesLFU:%3d",dis);printf("LFU:%6.4f",1-(float)dis/32);}}voidOPT(inta[])//OPT算法{for(intn=4;n<33;n++)//不同的页面数计算命中率{intnum1=0,num2=0,num3=0,num4=0;intd;intdis=0;intb[maxsize];intsum=n;intmax;intmaxpage;intdist[vpf];

7、for(inti=0;i

8、++;if

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。