- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
山东大学操作系统实验七
软件学院操作系统实验报告实验题目:实验七、内存页面置换算法实验学号:201100300124日期:2013年05月31日班级:5班姓名:韩俊晓Email:hanjunxiao188@实验目的:加深对于存储管理的了解,掌握虚拟存储器的实现原理;观察和了解重要的页面置换算法和置换过程。练习模拟算法的编程技巧,锻炼分析试验数据的能力。实验要求:请在以上示例实验程序中补充“增强二次机会”等置换算法的模拟程序。输入不同的内存页面引用串和实存帧数,观察并分析其页面置换效果和性能,并将其与LRU和FIFO算法进行比较。改进以上示例实验程序,使之能够随机的产生内存页面引用串,以便能动态的观测各种置换算法的性能。硬件环境:实验室计算机软件环境:Ubuntu08.4-Linux操作系统BASH_VERSION=3.2.33(1)-releasegcc version 4.1.2gedit 2.18.2OpenOffice 2.3实验步骤:1.实验说明:1. 示例实验程序中模拟两种置换算法:LRU算法和FIFO算法2. 能对两种算法给定任意序列不同的页面引用串和任意帧实内存块数的组合测试,显示页置换的过程。3. 能统计和报告不同置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率。比较两种置换算法在给定条件下的优劣。4. 为了能方便的扩充页面置换算法,更好的描述置换过程,示例实验程序采用了C++语言用Replace类描述了置换算法及其属性。2.调试过程:1)建立vmrp.cc程序,将代码写到程序中;2)再建立以下名为vmrp.h的C语言头文件:#include iostream#include iomanip#include malloc.husing namespace std;class Replace{public:Replace();~Replace();void InitSpace(char * MethodName); //初始化页号记录void Report(void); // 报告算法执行情况void Fifo(void); //先进先出算法void Lru(void); //最近最旧未用算法void Clock(void); //时钟(二次机会)置换算法void Eclock(void); //增强二次机会置换算法void Lfu(void); //最不经常使用置换算法void Mfu(void); //最经常使用置换算法private:int * ReferencePage ; //存放要访问到的页号int * EliminatePage ; //存放淘汰页号int * PageFrames ; //存放当前正在实存中的页号intPageNumber; //访问页数intFrameNumber; //实存帧数intFaultNumber; //失败页数int * Referencebit;//引用位int * count;int * Modifybit;//修改位};3)建立以下项目管理文件Makefilehead = vmrp.hsrcs = vmrp.ccobjs = vmrp.oopts = -w -g -call: vmrpvmrp:$(objs)g++ $(objs) -o vmrpvmrp.o: $(srcs) $(head)g++ $(opts) $(srcs)clean:rmvmrp *.o4)输入make命令编译连接生成可执行的vmrp程序$ gmakeg++ -g -c vmrp.cc vmrp.hg++ vmrp.o -o vmrp5)执行程序实验代码:#include vmrp.hReplace::Replace(){int i;//设定总得访问页数,并分配相应的引用页号和淘汰页号记录数组空间cout Please input page numbers : ;cin PageNumber;//存放要访问到的页号ReferencePage = new int[sizeof(int) * PageNumber];//访问页数EliminatePage = new int[sizeof(int) * PageNumber];//存放淘汰页号cout Please input reference page string :;for (i = 0; i PageNumber; i++)cin ReferencePage[i];cout Please input page frames :;cin FrameNumber;//实存帧数PageFrames = new int[sizeof(int) * FrameNumber];//存放当前正在实存中的页号Referencebit=new int
您可能关注的文档
最近下载
- 成都市金牛区2020-2021学年下学期一年级期末考试语文试卷(部编版).pdf VIP
- 儿科“一科一品”之做有温度的护理人.pptx VIP
- 2025年广州数学中考试题及答案.doc VIP
- 中文释义 PASS图解速记高中词汇正序版.xlsx VIP
- 辅警招聘考试公安基础知识(情景分析题)模拟试卷3(题后含答案及解析).pdf VIP
- 工程质量风险分级管控清单 .pdf VIP
- 生物医学工程先进制造:第一章 绪论-2015.ppt VIP
- 培养员工归属感培养员工归属感.ppt VIP
- 古方上篇后八方.张志峰老师讲解和答疑2016.3.5.doc VIP
- JingChaDaXue《灭火救援指挥》期末试卷(A)参考答案.docx VIP
文档评论(0)