实验4存储管理

实验4存储管理

ID:46504578

大小:74.50 KB

页数:8页

时间:2019-11-24

实验4存储管理_第1页
实验4存储管理_第2页
实验4存储管理_第3页
实验4存储管理_第4页
实验4存储管理_第5页
资源描述:

《实验4存储管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、2013〜2014学年第一学期操作系统实验报告实验题目:实验四存储管理专业:计算机科学与技术班级:EU计算机111学号:1111503111姓名:于秀芳实验日期:2013年11月22日实验地点:1J2A205盐城工学院优集学院实验四存储管理1、实验目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一•种常用的虚拟存储管理技术。木实验的忖的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的技术特点,掌握请求页式存储管理的页面置换算法。2、实验内容(1)通过随机数产牛一个指令序列,共320条指令。指令的地址按卜•述原则牛成:%150%的指

2、令是顺序执行的;%150%的指令是均匀分布在前地址部分;%150%的指令是均匀分布在后地址部分。具体的实施方法是:%1在[0,319]的指令Z间随即选取一起点%1顺序执行一条指令,即执行地址为m+l的指令;%1在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为mz;%1顺序执行一•条指令,其地址为+1;%1在后地址[nV+2,319]中随机选収一条指令并执行;%1重复上述步骤①-⑤,直到执行320次指令。(2)将指令序列变换为页地址流设:①页面大小为lk;%1用户内存容量为4页到32页;%1用户虚存容量为32ko在川户虚存屮,按每k存放10条指

3、令排在虚存地址,即320条指令在虚存屮的存放方式为:第0条•第9条指令为第0页(对应虚存地址为[0,9]);第10条■第19条指令为第一页(对应熄存地址为[10,19]);••••••第310条~第319条指令为第31页(对应虚地址为[310,319])0按以上方式,用户指令可纟fl成32页。(3)计算并输出下述各种算法在不同内存容量下的命中率。%1先进先出的算法(FIFO);%1最近最少使用算法(LRR);%1最佳淘汰算法(OPT)先淘汰最不常用的页地址;%1最少访问页面算法(LFR);%1最近最不经常使用算法(NUR)o其中③和④为选择内容。命中率=1

4、.页血失效次数/页地址流长度在本实验屮,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。3>随机数产生办法,Linux或UNIX系统提供函数strand()和rand(),分别进行初始化和产生随机数。a[0]=10*rand(庐5535*319+1;a[l]=10*rand()/65535*a[0];语句可用来产生a[0]与a[l]«P的随机数。实验代码:#defineTRUE1#defineFALSE0#defineINVALID-1#defineNULL0#include#include

5、dio.h>#definetotal_instruction320#definetotal_vp32#defineclear_period50typedefstruct{intpn;intpfn;intcounter;inttime;}pl_type;PLtypepl[total_vp];typedefstructpfc_struct{intpn;intpfn;structpfc_struct*next;}pfc_type;pfc_typepfc[total_vp],*freepf_head,*busypf_head,*busypf_tail;intdis

6、effect,a[total」nstruction];NUR(int);intpage[total_instruction],offset[total_instruction];intinitialize(int);intFIFO(int);intLRU(int);intLFU(int);intintOPT(int);intmain(){intsj,j;srand(10*getpid());s=(float)319*rand()/3276於276^+1;for(i=0;i

7、

8、s>319){pri

9、ntf(MWheni==%d,Error,s==%d“,i,s);exit(0);}a[i]=s;a[i+l]=a[i]+l;a[i+2]=(float)a[i]*rand()/3276於2767/2;a[i+3]=a[i+2]+l;s=(float)(318-a[i+2])*rand()/3276於276加+a[i+2]+2;if((a[i+2]>318)

10、

11、(s>319))printf("a[%d+2],anumberwhichis:%dands==%d",i,a[i+2]zs);}for(i=0;i

12、*将指令序列变换成页地址流*/{page[i]=a[i]/10;o

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

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

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