- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程设计报告
课程设计题目:页面淘汰算法实现
基本要求:
设计随机页面序号产生程序,并说明随机的性能和其性能可能对算法的影响
编写页面淘汰算法(FIFO、OPT、LRU)
结果数据的显示或提取
结果数据的分析
几点说明:
设计并绘制算法流程,附加说明所需的数据结构
如何标记时间的先后、最久的将来、最久未被使用
三、算法描述:
(1)先进先出页面置换算法(FIFO)
FIFO算法这是最早出现的置换算法,该算法总是淘汰最先进入内存的页面,即选择在
内存中驻时间最久的页面予以淘汰。该算法实现简单只需把一个进程已调入内存的页面,
按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。
但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如,
含有全局变量、常用函数、例程等的页面,FIFO算法并不能保证这些页面不被淘汰。
(2)最佳置换算法(OPT)
它是由Belady于1966 年提出的一种理论上的算法。其所选择的被淘汰页面,将是以后
永不使用的或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证
获得最低的缺页率。但由于人目前还无法预知一个进程在内存的若干个页面中,哪一个页面
是未来最长时间内不再被访问的,因而该算法是无法实现的,但可以利用此算法来评价其它
算法。
(3)最近最久未使用置换算法(LRU)
最近最久未使用(LRU)置换算法,是根据页面调入内存后的使用情况进行决策的。由
于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,
因此,LRU 置换算法是选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访
问字段,用来记录一个页面自上次被访问以来所经历的时间t,,当须淘汰一个页面时,选择
现有页面中其t值最大的,即最近最久未使用的页面予以淘汰。
总体设计
根据要求设计页面淘汰算法的活动图
运行程序进入主页面,在正上方,已经通过随机生成函数生成了页面号,在其下方,显
示可选项:0、退出程序1、FIFO算法2、OPT算法3、LRU算法。根据需要,选择相应的
法,程序自动生成页面淘汰的先后顺序,以及置换次数和缺页次数,并打印在下方,执行完
以后,再次进入主页面,到输入0,退出程序。
算法流程图
FIFO算法流程图:
OPT算法流程图
LRU算法流程图:
五、详细设计
首先根据程序要求,我们分别定义两个宏,用以存放我们的物理块数目以及页面数目,再定义一个结构体,用以物理块的存储,代码如下:
#define MemPageCount 4
#define InstructionCount 20
struct page
{
int serial; //页面号
int time; //时间计数
}mempage[MemPageCount];
其次,建立主函数,根据程序需要,定义相应的变量,建立switch语句,用以算法的选择,部分定义如下:
int i,j,k,m,n; //指令页面集合,可以考虑让页面指令集合随机生成
int instruction[InstructionCount];
int mem_counter; //内存页面集合计数器
int switch_counter; //置换次数
最后,根据算法流程图,实现相应算法的代码编写。
结果分析:
物理块数为3、页面数目为20:
物理块数为4、页面数目为20:
根据结果,我们不难发现,OPT算法,是三种算法中性能最好的,它的置换次数最少,LRU次之,,不过性能最差的还是FIFO,由于缺页率=缺页次数/总的页面数,所以我们不难发现,随着物理块数的增加,缺页率都相应有所增加,但是OPT算法的增加较为明显,即产生了belady现象。
课程设计总结:
通过本次课程设计,让我对页面淘汰算法有了充分的了解,我不仅对我们常用的算法进行了编写,还对一些理想的算法也进行了编写,并且通过适当的方法,得以了验证。
就该程序而言,随机性使得程序出现了更多的可能性,为我们验证算法提供很大的方便,电脑自动分配,大大的节约了我们的时间,但是我们通过实验不难发现,如果所设的页面项目过大,也会影响我们算法的性能执行效率。对我们所涉及的算法,让我有很大的感触。
在FIFO 算法中,无论有无发生缺页或者置换,都需要对每个在内存中的页面的time 值进行增加操作,以保持最先进入的那个页面的time 值是最大的;一个新进来的页面,其time值设置为0。当然,该算法也可以通过队列结构来实现,利用队列的先进先出(FIFO)特性完成,无需设置time字段。distance
您可能关注的文档
- 数据结构与算法课程设计--城市公共交通最短线路.doc
- 数控课程设计--数字积分法第二象限直线插补程序设计.doc
- 数值计算课程设计--典型数值算法的C++语言程序设计.doc
- 数值计算课程设计--经典四阶龙格-库达法解一阶微分方程组.doc
- 水工程钢结构课程设计--潜孔式平面钢闸门设计.doc
- 水工钢结构课程设计(综合实验)报告--溢洪道露顶式平面钢闸门设计.doc
- 数字电路课程设计课件-数字计时器的设计.ppt
- 水利水电工程钢结构课程设计--水工钢结构露顶式焊接平面钢闸门设计计算书.docx
- 水污染控制工程课程设计--某市卫生城(A区)污水处理涉及.doc
- 水污染控制技术课程设计报告.doc
最近下载
- 【基恩士】LR-W500(C) 使用说明书 (简体中文).pdf VIP
- 2025年全国危险化学品经营单位主要负责人考试试题含答案.docx VIP
- 依利特MFD3100多波长荧光检测器用户手册.pdf VIP
- 医疗气体系统施工的质量监控重点及监理措施(可编辑word版).doc VIP
- 《西门子接口模块 ET 200M IM 153 2 产品手册 中文超清版》.pdf VIP
- 压力性尿失禁的护理查房PPT课件.pptx VIP
- 九年级下册化学《金属》习题巩固.doc VIP
- 索尼sony_mdsje480_使用说明书手册.pdf VIP
- 城市管理网格员(中级)考试题库(浓缩300题).docx VIP
- 城市管理网格员(四级)认证考试复习题及答案(新版).doc VIP
文档评论(0)