欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统实验4请求分页存储管理系统模拟实验Word文件下载.docx

    • 资源ID:1222084       资源大小:371.84KB        全文页数:15页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统实验4请求分页存储管理系统模拟实验Word文件下载.docx

    1、四:实验类型模拟实验五:主要仪器计算机六:结果OPT:LRU:FIFO:七:程序# includestdlib.hconio.h# define blocknum 4/页面尺寸大小int m; /程序计数器,用来记录按次序执行的指令对应的页号static int num320; /用来存储320条指令typedef struct BLOCK /声明一种新类型-物理块类型 int pagenum; /页号int accessed; /访问量,其值表示多久未被访问BLOCK; BLOCK blockblocknum; /定义一大小为8的物理块数组void init() /程序初始化函数,对bloc

    2、k初始化for(int i=0;iblocknum;i+) blocki.pagenum=-1;blocki.accessed=0;m=0;int pageExist(int curpage)/查找物理块中页面是否存在,寻找该页面curpage是否在内存块block中,假如在,返回块号 i blockpos.accessed)pos = i; /找到应该置换页面,返回BLOCK中位置 return pos;void display()/显示物理块中的页面号if(blocki.pagenum != -1)printf( %02d ,blocki.pagenum);%p |,&blocki.pag

    3、enum);n);void randam()/产生320条随机数,显示并存储到num320int flag=0;请为一进程输入起始执行指令的序号(0320):scanf(%dm);/用户决定的起始执行指令*进程中指令访问次序如下:(由随机数产生)*n320;/进程中的320条指令访问次序的生成numi=m;/当前执行的指令数,if(flag%2=0) m=+m%320;/顺序执行下一条指令if(flag=1) m=rand()%(m-1);/通过随机数,跳转到低地址局部0,m-1的一条指令处,设其序号为m1if(flag=3) m=m+1+(rand()%(320-(m+1);/通过随机数,跳

    4、转到高地址局部m1+2,319的一条指令处,设其序号为m2flag=+flag%4; %03d,numi);/输出格式:3位数if(i+1)%10=0) /控制换行,每个页面可以存放10条指令,共32个页面void pagestring() /显示调用的页面序列,求出此进程按次序执行的各指令所在的页面号并显示输出 %02d,numi/10);2位数if(i+1)%10=0)/控制换行,每个页面可以存放10条指令,共32个页面void OPT() /最优替换算法int n=0;/记录缺页次数int exist,space,position;int curpage;/当前指令的页面号m=numi;

    5、curpage=m/10;exist=pageExist(curpage);if(exist=-1) /当前指令的页面号不在物理块中space=findSpace();if(space ! /当前存在空闲的物理块blockspace.pagenum = curpage; /将此页面调入内存display();/显示物理块中的页面号n+;/缺页次数+1else /当前不存在空闲的物理块,需要进展页面置换for(int k=0;kk+)for(int j=i;jj+)/找到在最长未来时间内不再被访问的页面if(blockk.pagenum!= numj/10)blockk.accessed = 1

    6、000; /将来不会被访问,设置为一个很大数 /将来会被访问,访问量设为jblockk.accessed = j;break;position = findReplace();/找到被置换的页面 ,淘汰blockposition.pagenum = curpage;/ 将新页面调入 /缺页次数+1缺页次数:%dn,n);缺页率:%f%n,(n/320.0)*100);void LRU() /最近最久未使用算法int exist,space,position ;exist = pageExist(curpage);space = findSpace();else blockexist.acces

    7、sed = -1;/恢复存在的并刚访问过的BLOCK中页面accessed为-1for(int j=0; j j+)/其余的accessed+blockj.accessed+;void FIFO() int n=0; int exist,space,position ; int curpage; int blockpointer=-1; for(int i=0; m=numi; curpage=m/10; exist = pageExist(curpage); if(exist=-1) /当前指令的页面号不在物理块中 space = findSpace(); if(space ! /当前存在空

    8、闲的物理块 blockpointer+; blockspace.pagenum=curpage; n+; display(); else / 没有空闲物理块,进展置换 position = (+blockpointer)%4; blockposition.pagenum = curpage; printf(void main()int choice;*请求分页存储管理模拟系统*nrandam();*此进程的页面调用序列如下*npagestring();while(choice != 4)*1:OPT 2:LRU 3:FIFO 4:退出*n请选择一种页面置换算法:choice);init();switch(choice)case 1:最优置换算法OPT:页面号 物理地址 页面号 物理地址 页面号 物理地址 页面号 物理地址nOPT();case 2:最近最久未使用置换算法LRU:LRU();case 3:先进先出置换算法FIFO:FIFO();


    注意事项

    本文(操作系统实验4请求分页存储管理系统模拟实验Word文件下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开