山东大学操作系统实验七内存页面置换算法问题

山东大学操作系统实验七内存页面置换算法问题

ID:1202974

大小:256.50 KB

页数:35页

时间:2017-11-08

山东大学操作系统实验七内存页面置换算法问题_第1页
山东大学操作系统实验七内存页面置换算法问题_第2页
山东大学操作系统实验七内存页面置换算法问题_第3页
山东大学操作系统实验七内存页面置换算法问题_第4页
山东大学操作系统实验七内存页面置换算法问题_第5页
资源描述:

《山东大学操作系统实验七内存页面置换算法问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、计算机科学与技术学院操作系统实验报告实验题目:内存页面置换算法问题假请在以上示例实验程序中补充“增强二次机会”等置换算法的模拟程序。输入不同的内存页面引用串和实存帧数,观察并分析其页面置换效果和性能,并将其与LRU和FIFO算法进行比较。改进以上示例实验程序,使之能够随机的产生内存页面引用串,以便能动态的观测各种置换算法的性能。实验目的:加深对于存储管理的了解,掌握虚拟存储器的实现原理;观察和了解重要的页面置换算法和置换过程。练习模拟算法的编程技巧,锻炼分析试验数据的能力。硬件环境:Inter(R)Core(TM)i5-3210MCP

2、U@2.50GHz内存:4GB硬盘:500G软件环境:XUbuntu-Linux操作系统Gnome桌面2.18.3BASH_VERSION='3.2.33(1)-releasegccversion4.1.2gedit2.18.2OpenOffice2.3实验步骤:1、问题分析:示例实验程序中模拟两种置换算法:LRU算法和FIFO算法能对两种算法给定任意序列不同的页面引用串和任意帧实内存块数的组合测试,显示页置换的过程。能统计和报告不同置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率。比较两种置换算法在给定条件下的优劣。为了能

3、方便的扩充页面置换算法,更好的描述置换过程,示例实验程序采用了C++语言用Replace类描述了置换算法及其属性。2、算法设计说明如下:1.二次机会算法描述(Clock):将帧表设置为循环表,由RefBit数组记录某一页是否被引用(0表示未被引用,1表示被引用)。当访问一页时,首先从帧表中检查此页是否在实存,若在将其引用位设置为1;若不在,在循环帧表中循序查找,若某页引用位为1,则将其设置为0,然后继续查找;若某页引用位为0,将其替换。若查找一圈,没有替换页(所有引用位均为1),则将全部引用位设置为0。2.增强的二次机会算法(Eclo

4、ck):将帧表设置为循环表,由RefBit数组记录某页是否被引用,ModBit数组记录某页是否被修改。当访问一页时,首先从帧表中检查此页是否在实存,若在将引用位设置为1,并根据输入修改修改位;若不在,第一次在帧表中查找是否有属性为(0,0)的页,若有则将其替换,并修改引用位和修改位;若没有这种页,第二次查找是否有属性为(0,1)或(1,0)的页,若有将其替换,并修改引用位和修改位;若没有这种页,将所有引用位置为0,重复第二次查找操作。3.最少使用页替换算法(Lfu):设置accout数组记录帧表中每一页被引用次数。当访问一页时,首先从

5、帧表中检查此页是否在实存,若在将其计数加1;若不在,查找计数最小的页将其替换,并将当前页的计数置为1;4.最多使用页替换算法(Mfu):设置accout数组记录帧表中每一页被引用次数。当访问一页时,首先从帧表中检查此页是否在实存,若在将其计数加1;若不在,查找计数最大的页将其替换,并将当前页的计数置为1;3、开发调试过程:在shell命令行下运行makevmrpg++-w-g-cvmrp.ccg++vmrp.o-ovmrp$./vmrpPleaseinputpagenumbers:12Pleaseinputreferencepages

6、tring:123412512345Pleaseinputpageframes:3运行截图如下:附件:vmrp.h#include#include#includeusingnamespacestd;classReplace{public:Replace();~Replace();voidInitSpace(char*MethodName);//初始化页号记录voidReport(void);//报告算法执行情况voidFifo(void);//先进先出算法voidLru(voi

7、d);//最近最旧未用算法voidClock(void);//时钟(二次机会)置换算法voidEclock(void);//增强二次机会置换算法voidLfu(void);//最不经常使用置换算法voidMfu(void);//最经常使用置换算法private:int*ReferencePage;//存放要访问到的页号int*EliminatePage;//存放淘汰页号int*PageFrames;//存放当前正在实存中的页号intPageNumber;//访问页数intFrameNumber;//实存帧数intFaultNumber

8、;//失败页数int*Referencebit;int*count;int*Modifybit;};//vmrp.c#include"vmrp.h"Replace::Replace(){inti;cout<<"Pleas

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

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

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