收藏 分销(赏)

操作系统实验4-请求分页存储管理模拟实验.doc

上传人:快乐****生活 文档编号:4374774 上传时间:2024-09-14 格式:DOC 页数:11 大小:881.50KB
下载 相关 举报
操作系统实验4-请求分页存储管理模拟实验.doc_第1页
第1页 / 共11页
操作系统实验4-请求分页存储管理模拟实验.doc_第2页
第2页 / 共11页
操作系统实验4-请求分页存储管理模拟实验.doc_第3页
第3页 / 共11页
操作系统实验4-请求分页存储管理模拟实验.doc_第4页
第4页 / 共11页
操作系统实验4-请求分页存储管理模拟实验.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、实验四请求分页存储管理模拟实验一:实验目得通过对页面、页表、地址转换与页面置换过程得模拟,加深对请求分页存储管理系统得原理与实现技术得理解.二:实验内容假设每个页面可以存放0条指令,分配给进程得存储块数为。用C语言或sc语言模拟一进程得执行过程。设该进程共有320条指令,地址空间为32个页面,运行前所有页面均没有调入内存。模拟运行时,如果所访问得指令已经在内存,则显示其物理地址,并转下一条指令;如果所访问得指令还未装入内存,则发生缺页,此时需要记录缺页产生次数,并将相应页面调入内存,如果个内存块已满,则需要进行页面置换。最后显示其物理地址,并转下一条指令。在所有指令执行完毕后,显示进程运行过程

2、中得缺页次数与缺页率.页面置换算法:分别采用OPT、IF、LR三种算法。进程中得指令访问次序按如下原则生成:50%得指令就是顺序执行得。2%得指令就是均匀分布在低地址部分.25得指令就是均匀分布在高地址部分.三:实验类别分页存储管理四:实验类型模拟实验五:主要仪器计算机六:结果O:RU:FIFO:七:程序 icludestdio、hncldetdlib、hincludenio、 defne blocknm /页面尺寸大小int ; /程序计数器,用来记录按次序执行得指令对应得页号sai inum20; /用来存储30条指令pedef sruct BLOCK /声明一种新类型物理块类型 int

3、agenum; /页号int cesd;/访问量,其值表示多久未被访问BLOCK; BLOCK blckblcknum; /定义一大小为8得物理块数组void init() /程序初始化函数,对blck初始化 for(nt i=0;iloknum;i+)b、gnum1;bock、accsed=0;m=0;t xist(ntcurpag)/查找物理块中页面就是否存在,寻找该页面curpage就是否在内存块bo中,若在,返回块号for(int i=0;ibocknum; i+) f(bocki、agnm cupae)eturn i; /在内存块blck中,返回块号etun -1;n findSpa

4、ce()/查找就是否有空闲物理块,寻找空闲块bock,返回其块号fo(int=0;bocknm;i+) f(bli、paenum=1)euni; 找到了空闲得lc,返回块号rur -1;int findReplc()/查找应予置换得页面 int o = 0;or(int i0;ilocnm;+)if(blk、cessed blckpos、acesd)pos= ; /找到应该置换页面,返回BOCK中位置reurn ps;vod displa()/显示物理块中得页面号 for(int i=0;ibocknm; i) if(bloc、enum !=-1)pritf(” 02d ,block、paen

5、um);printf(%p |”,bloc、pagnum);rtf(n);vidrda()/产生320条随机数,显示并存储到m0 int l=0;pint(”请为一进程输入起始执行指令得序号(0320):n”);scan(%d,);/用户决定得起始执行指令ri(*进程中指令访问次序如下:(由随机数产生)*n);fr(inti=0;i2;+)/进程中得320条指令访问次序得生成numm;/当前执行得指令数,f(flag=0) m+m;/顺序执行下一条指令f(flag=) mrnd()(m-1);/通过随机数,跳转到低地址部分0,m1得一条指令处,设其序号为1f(flag=3) m=m+1(ran

6、d()%(2(m+1)));/通过随机数,跳转到高地址部分1+2,3得一条指令处,设其序号为m2fag+ag%;prnt(” %0d”,numi);/输出格式:3位数i(i+)%1=0) /控制换行,每个页面可以存放条指令,共32个页面printf(”n”);oid pagetrng() /显示调用得页面序列,求出此进程按次序执行得各指令所在得页面号并显示输出 or(inti0;i0;i+)printf(” d,nui0);/输出格式:位数if(1)%10=0)/控制换行,每个页面可以存放10条指令,共32个页面intf(n”);voidOP() /最佳替换算法in n=0;/记录缺页次数in

7、 exist,space,posion;in urpae;/当前指令得页面号fr(int i;i2;)m=numi; curpage=/10;eit=ageExist(cuage);if(exist=-1) /当前指令得页面号不在物理块中spacefindpace();if(se != -)/当前存在空闲得物理块lokce、pagenu cpae;/将此页面调入内存dilay();/显示物理块中得页面号n+;/缺页次数+1ele /当前不存在空闲得物理块,需要进行页面置换fo(ink=0;kblocknum;k+)or(intj=i;j+)/找到在最长(未来)时间内不再被访问得页面if(blo

8、ckk、pagenum!= j/1) blok、acese =100; /将来不会被访问,设置为一个很大数else /将来会被访问,访问量设为lc、essd = j;beak; posion = idRele();/找到被置换得页面 ,淘汰blockoston、pgenum = urp;/ 将新页面调入dispay();n+; /缺页次数+pintf(”缺页次数:n,n);print(缺页率:fn,(n320、0)100);void LU() /最近最久未使用算法 in n=0;/记录缺页次数it xt,ac,osition ;n curpae;/当前指令得页面号(t i=0;i320;i+)

9、mnumi; cuag=m10;xist = pageit(curpge);(xist=-1) /当前指令得页面号不在物理块中ae = fnSpace();if(sc != ) /当前存在空闲得物理块ockspce、pagenum =rage;/将此页面调入内存isplay();/显示物理块中得页面号n+;缺页次数+1else /当前不存在空闲得物理块,需要进行页面置换psio finelace();bocpositon、paenum crge;dipla();n+;/缺页次数+1els bckexs、acesed = -;/恢复存在得并刚访问过得LOCK中页面ccess为-for(int j

10、=0; jblockum; j+)/其余得accessed+lk、acssed+;prntf(缺页次数:%dn”,n);prif(缺页率:f%n,(n20、0)*10);vod FIFO() intn=0;/记录缺页次数 inteist,spac,ositn ; i crae;/当前指令得页面号itblckpinter=;for(i i=;i20;+) m=numi; crpge=m0; exst= pageist(rpge); i(ei=) /当前指令得页面号不在物理块中 spae = fdpae(); if(space!-1) /当前存在空闲得物理块 blocpoiter+; locksp

11、c、nm=curpag; /将此页面调入内存 n+;/缺页次数1 dilay();/显示物理块中得页面号 else / 没有空闲物理块,进行置换psiton = (+blockpintr)4; blockpositon、anum cuge; /将此页面调入内存n+; disay(); rtf(缺页次数:dn,n); printf(缺页率:%n,(n/30、0)*100); void ain() int choice;pritf(*请求分页存储管理模拟系统*n);randm();intf(*此进程得页面调用序列如下*n”);pagetri();wil(choic!=)prinf(*1:OPT :

12、LRU 3:FO 4:退出*n”);printf(请选择一种页面置换算法:”); nf(%d,coc);iit();switch(choie) ce 1:intf(”最佳置换算法OPT:n);pintf(页面号 物理地址 页面号 物理地址 页面号 物理地址 页面号 物理地址n);OP();break;cse 2:rinf(最近最久未使用置换算法LR:n);rntf(页面号 物理地址页面号 物理地址 页面号 物理地址 页面号 物理地址n);RU();rea;cae 3:printf(先进先出置换算法F:n);pif(页面号物理地址 页面号 物理地址 页面号 物理地址 页面号 物理地址);IFO();brek;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服