欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    实验5---页面置换算法(共13页).docx

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

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

    实验5---页面置换算法(共13页).docx

    精选优质文档-倾情为你奉上实验5 页面置换算法一、 实验题目:页面置换算法(请求分页)二、 实验目的: 进一步理解父子进程之间的关系。1) 理解内存页面调度的机理。2) 掌握页面置换算法的实现方法。3) 通过实验比较不同调度算法的优劣。4) 培养综合运用所学知识的能力。 页面置换算法是虚拟存储管理实现的关键,通过本次试验理解内存页面调度的机制,在模拟实现FIFO、LRU等经典页面置换算法的基础上,比较各种置换算法的效率及优缺点,从而了解虚拟存储实现的过程。将不同的置换算法放在不同的子进程中加以模拟,培养综合运用所学知识的能力。三、 实验内容及要求 这是一个综合型实验,要求在掌握父子进程并发执行机制和内存页面置换算法的基础上,能综合运用这两方面的知识,自行编制程序。程序涉及一个父进程和两个子进程。父进程使用rand()函数随机产生若干随机数,经过处理后,存于一数组Acess_Series中,作为内存页面访问的序列。两个子进程根据这个访问序列,分别采用FIFO和LRU两种不同的页面置换算法对内存页面进行调度。要求:1) 每个子进程应能反映出页面置换的过程,并统计页面置换算法的命中或缺页情况。设缺页的次数为diseffect。总的页面访问次数为total_instruction。缺页率 = disaffect/total_instruction命中率 = 1- disaffect/total_instruction2)将为进程分配的内存页面数mframe 作为程序的参数,通过多次运行程序,说明FIFO算法存在的Belady现象。四、程序流程图 五、 运行结果及其说明FIFO: LRU::六、回答以下问题: 父进程、子进程之间的并发执行的过程父进程与子进程之间的并发执行宏观并行,微观串行。从宏观来说,父进程创建子进程1,子进程1和父进程同时执行,直到父进程创建子进程2遇到wait()函数挂机为止,当子进程1结束父进程和子进程2并发执行到再次遇见wait()函数是挂起等待子进程2结束,到子进程2结束返回父进程父进程继续执行至结束。从微观来说,父进程先执行至创建子进程1,接下来父进程挂起执行子进程1知道子进程1结束回到父进程;父进程继续执行到创建子进程2再次挂起,执行子进程2,直到子进程2结束回到父进程继续执行至结束。 通过完成实验,根据你的体会,阐述虚拟存储器的原理。虚拟存储器实际上是用来解决作业大而内存小的问题,他通过页面置换算法来提供远大于内存地址空间的地址范围,针对不同的程序将不同的数据页面读取到虚拟存储器中用来实现。 写出FIFO算法中出现Belady现象的内存页面访问序列。4个内存页面数:序列2 2 5 3 3 1 3 1 2 5 5 26次命中,命中率为0.53个内存页面数:序列2 1 3 2 1 4 3 1 3 1 5 5 7次命中,命中率为0.58七、程序源代码、文档注释及文字说明#include <stdio.h>#include <sys/types.h>#include <stdlib.h>#include <sys/stat.h>#include <fcntl.h>#include <error.h>#include <wait.h>#include <unistd.h>#define max_Frame 12#define Frame 2main()srand(time(0);int pid1, pid2, fd2, Acess_Series12, temp;float effect, rate = 0;char str1100, str2100;struct M_Frameint page_no;char flag;struct M_Frame one_frame4;one_frame0.page_no = 0;one_frame1.page_no = 0;one_frame2.page_no = 0;one_frame3.page_no = 0;effect = 0;int i = 0;printf("内存访问页面序列:");for (; i<12; i+)Acess_Seriesi = rand() % 5 + 1;printf("%d ", Acess_Seriesi);while (pid1 = fork() = -1);if (pid1 = 0)int no = 0;int pno = 0;printf("FIFO页面置换算法:n");for (; no<12; no+)printf("调入的页面号是%d ", Acess_Seriesno);int k = 0;for (; k <= Frame; k+)if (one_framek.page_no = Acess_Seriesno) effect+; printf("命中n"); break; if (one_framek.page_no = 0)one_framek.page_no = Acess_Seriesno;printf("未命中n");break;if (k = Frame)int j = 1;for (; j <= Frame; j+)one_framej - 1.page_no = one_framej.page_no;one_frameFrame.page_no = Acess_Seriesno;printf("未命中n");printf("内存情况为:%d |%d |%d |%dn", one_frame0.page_no, one_frame1.page_no, one_frame2.page_no, one_frame3.page_no);rate = effect / 12;printf("命中次数:%fn", effect);printf("命中率:%fn", rate);elsewhile (pid2 = fork() = -1);if (pid2 = 0)int no = 0;int pno = 0;one_frame0.page_no = 0;one_frame1.page_no = 0;one_frame2.page_no = 0;one_frame3.page_no = 0;for (; no<12; no+)printf("调入的页面号是%d ", Acess_Seriesno);int k = 0;for (; k <= Frame; k+)if (one_framek.page_no = Acess_Seriesno)int t = k;for (; t <= Frame; t+)if (t = Frame&&one_framet.page_no != 0)temp = one_framet.page_no; one_framet.page_no = one_framek.page_no; one_framek.page_no = temp;if (one_framet.page_no = 0)temp = one_framet - 1.page_no; one_framet - 1.page_no = one_framek.page_no; one_framek.page_no = temp;effect+; printf("命中n"); break;if (one_framek.page_no = 0)one_framek.page_no = Acess_Seriesno;printf("未命中n");break;if (k = Frame)int j = 1;for (; j <= Frame; j+)one_framej - 1.page_no = one_framej.page_no;one_frameFrame.page_no = Acess_Seriesno;printf("未命中n");printf("内存情况为:%d |%d |%d |%dn", one_frame0.page_no, one_frame1.page_no, one_frame2.page_no, one_frame3.page_no);rate = effect / 12;printf("命中次数:%fn", effect);printf("命中率:%fn", rate);wait(0);exit(0);专心-专注-专业

    注意事项

    本文(实验5---页面置换算法(共13页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开