- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机与电子信息学院
操作系统课程设计报告
题目一:页面淘汰算法实现
题目二:进程调度算法实现
小组成员: (1)
(2)
班级:
指导老师:
完成日期:
目录
概述:设计主要完成的任务和解决的主要问题
设计的基本概念和原理。
总体设计。
详细设计。
完成的情况。
简要的使用说明。
总结:特色、经验、教训和感受。
参考文献。
【题目一:页面淘汰算法的实现】
一、概述:设计主要完成的任务和解决的主要问题
利用简单的数据结构,模拟现实操作系统中的页面置换机制。
用C语言编写FIFO、LRU置换算法。
熟悉内从分页管理策略。
了解一般常用的调度算法。
模拟实现页面淘汰算法。
设计的基本概念和原理。
在操作系统当中,在进程运行过程中,若其访问的页面不在内存中二需要把他们调入内存,但内存已无空闲空间时,为了保证该进程能够正常运行,系统必须从内存中调出一页程序或数据送到兑换区中,但是应该是哪个页面被调出,需根据一定的算法来确定,即“页面置换算法”。页面置换算法执行效率的高低,往往直接影响到操作系统的性能。
先进先出算法(FIFO)
这是最早出现的置换算法,该算法总是淘汰最先进入内存的页面,即选择在内存中主流时间最长的页面换出,该算法实现简单。
最近最久未使用(LRU)
最近最久未使用的置换算法,是根据页面调入内存后的使用情况来决策的。由于无法预测个页面将来的使用情况,只能根据最近的过去作为最近的将来的近似,因此,最近最久未使用算法是选择最近的最久未使用的页面予以淘汰。
最佳置换算法(OPT)
最佳置换算法是可以说是一种理想的页面置换算法,其所淘汰的页面是将来不会被使用的或者在最长的未来不会被使用的页面。采用最佳置换算法,可以获得最新的缺页率。
总体设计。
先进先出算法(FIFO)
用数组存储当前无理块中页面的信息,变量temp记录内存中无理块页面置换状态,每进行一次置换,页面置换状态变化,便于下一次置换。
最近未使用算法(LRU)
用数组存储当前物理块中的页面信息,数组存储当前在物理块中值最小并且对应物理块中的页面进行置换。
【页面置换算法流程图】
页面序号大于物理块数将页面载入物理块随机生成页面序号Start
页面序号大于物理块数
将页面载入物理块
随机生成页面序号
Start
否
页号在物理块中
页号在物理块中
否 是
根据对应的页面置换算法置换页面
根据对应的页面置换算法置换页面
页面序列载完
页面序列载完
否
End
End
详细设计。
主函数设计:
1.实现用户输入物理块数blockNum和页面总数pageNum的输入,b调用函数produceRandomPage()生成blockNum个随机页号存储在arrayPage数组中,然后通过函数printRandomPage()显示出随机页号,调用函数produceBlock()生成物理块blockNum块。
2.使用菜单来让用户控制算法的选择,FIFO和LRU算法的单独实现,或者同时实现
FIFO页面置换算法设计:
1.算法的主要函数fifoALG()完成了该算法的主要内容,根据物理块数和页面总数进行算法的实现,使用一个变量count记录当前最先载入页面的物理块号。实现分两个小模块进行,一是当物理块未填满时,此时只要缺页即可进行页面分配,即,将页面号载入count块物理块中,二是当物理块填满了,当发生缺页时,置换count块物理块中的页面。处理每个页面都进行一次物理块中页面的输出显示,并标注缺页与否,发生置换则标注置换;算法过程使用函数judgeExists()判断页面是否缺页。最后计算置换率和缺页率并输出
LRU页面置换算法设计
2.算法的主要函数lruALG()完成了该算法的主要内容,根据用户输入的物理块数和页面数进行模拟页面置换。整个算法需要使用一个数组record来记录每个在物理块中的页面的存在时长(每处理一个页面,标记时长为1);使用函数judgeLT()来判断最久使用的物理块号。实现亦分两个小模块进行,一是当物理块未填满时,此时只要用judgeExists()判断页面缺页时,则进行页面载入,record相应值增1;二是当物理块填满时,判断页面缺页,则根据judgeLT()找出最久未使用的物理块号,将页面置换该物理块的页面。上面处理每个页面过程均输出物理块内容,缺页与否、发生置换则标注。最后计算置换率和缺页率并输出
完成的情况。
完成了明确目标、可行性分析、总体设计、详细设计和代码实现及编译测试、结果分析及经验总结。
2、该程序可以完成页面置换算法的模拟。优先级置换算法和先进先出置换算法都能够模拟实现。
文档评论(0)