实验4 存储管理.doc

实验4 存储管理.doc

ID:61478688

大小:272.00 KB

页数:8页

时间:2021-02-03

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

《实验4 存储管理.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

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

2、则生成:①50%的指令是顺序执行的;②50%的指令是均匀分布在前地址部分;③50%的指令是均匀分布在后地址部分。具体的实施方法是:①在[0,319]的指令之间随即选取一起点m;②顺序执行一条指令,即执行地址为m+1的指令;③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m′;④顺序执行一条指令,其地址为m′+1;⑤在后地址[m′+2,319]中随机选取一条指令并执行;⑥重复上述步骤①-⑤,直到执行320次指令。(2)将指令序列变换为页地址流设:①页面大小为1k;②用户内存容量为4页到32页;③用

3、户虚存容量为32k。在用户虚存中,按每k存放10条指令排在虚存地址,即320条指令在虚存中的存放方式为:第0条-第9条指令为第0页(对应虚存地址为[0,9]);第10条-第19条指令为第一页(对应虚存地址为[10,19]);……第310条~第319条指令为第31页(对应虚地址为[310,319])。按以上方式,用户指令可组成32页。(3)计算并输出下述各种算法在不同内存容量下的命中率。①先进先出的算法(FIFO);②最近最少使用算法(LRR);③最佳淘汰算法(OPT)先淘汰最不常用的页地址;④最少访问页面算法(

4、LFR);⑤最近最不经常使用算法(NUR)。其中③和④为选择内容。命中率=1-页面失效次数/页地址流长度在本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。3、随机数产生办法,Linux或UNIX系统提供函数strand()和rand(),分别进行初始化和产生随机数。a[0]=10*rand()/65535*319+1;a[1]=10*rand()/65535*a[0];语句可用来产生a[0]与a[1]中的随机数。实验代码:#defineTRUE1#defineF

5、ALSE0#defineINVALID-1#defineNULL0#include#include#definetotal_instruction320#definetotal_vp32#defineclear_period50typedefstruct{intpn;intpfn;intcounter;inttime;}pl_type;pl_typepl[total_vp];typedefstructpfc_struct{intpn;intpfn;structpfc_str

6、uct*next;}pfc_type;pfc_typepfc[total_vp],*freepf_head,*busypf_head,*busypf_tail;intdiseffect,a[total_instruction];intpage[total_instruction],offset[total_instruction];intinitialize(int);intFIFO(int);intLRU(int);intLFU(int);intNUR(int);intOPT(int);intmain(){i

7、nts,i,j;srand(10*getpid());s=(float)319*rand()/32767/32767/2+1;for(i=0;i

8、

9、s>319){printf("Wheni==%d,Error,s==%d",i,s);exit(0);}a[i]=s;a[i+1]=a[i]+1;a[i+2]=(float)a[i]*rand()/32767/32767/2;a[i+3]=a[i+2]+1;s=(float)(318-a[i+2])*

10、rand()/32767/32767/2+a[i+2]+2;if((a[i+2]>318)

11、

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

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

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

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