- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Clock及改进Clock置换算法实现
操作系统课程设计报告书
Clock及改进Clock置换算法实现
班 级
姓 名
学 号
指导老师
2014年3月12日
目 录
一 、课程设计目的 3
二、系统
一、课程设计目的
操作系统课程设计是为了对学习的操作系统课程更深刻的理解和巩固,对操作系统的整体进行一个模拟。通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写的能力。
编程中少不了难题,遇到难题时需要的是用程序员的思维方式去考虑问题解决问题,还需要很大的精力和耐心,对于我们来说都是磨练和提高。
二、系统
在采用请求分页机制的操作系统中,当运行一个程序的时候,若要访问的页面不在内存中而需要把它们调入内存,但此时内存已无空闲空间,为了保证该进程能正常运行,需选择内存中暂时不用的页面调出到磁盘交换区。选择调出哪个页面,由页面算法决定。页面置换算法的好坏,直接影响系统的性能,所以一个好的页面置换算法,应尽可能选择调出较长时间内不会再访问的页面,以保证较低的缺页率。
2.1 Clock页面置换原理描述
Clock算法的思想:当某一页首次装入内存中时,则将该页框的使用位设置为1;当该页随后被访问到时(在访问产生缺页中断之后),它的使用位也会被设置为1。对于页面置换算法,用于置换算法,用于置换的候选页框集合(当前进程:局部范围;整个内存;全局范围)被看做是一个循环缓冲区,并且有一个指针与之相关联。当一页被置换时,该指针被设置成指向缓冲区中的下一页框。当需要置换一页时,操作系统扫描缓冲区,以查找使用位被置为0的一页框。每当遇到一个使用位为1的页框时,操作系统就将该位重新置为0;如果在这个过程开始时,缓冲区中所有页框的使用位均为0时,则选择遇到的第一个页框置换;如果所有页框的使用位均为1时,则指针在缓冲区中完整地循环一周,把所有使用位都置为0,并且停留在最初的位置上,置换该页框中的页。
改进型的Clock算法的思想:在将一个页面换出时,如果该页已被修改过,便须将它重新写到磁盘上;但如果该页未被修改过,则不必将它拷回磁盘。同时满足这两条件的页面作为首先淘汰的页。由访问位A和修改位M可以组合成下面四种类型的页面:
1 类(A=0,M=0):表示该页最近既未被访问、又未被修改,是最佳淘汰页。
2 类(A=0,M=1):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。
3 类(A=1,M=0):最近已被访问,但未被修改,该页有可能再被访问。
4 类(A=1,M=1):最近已被访问且被修改,该页有可能再被访问。
在内存中的每个页必定是这四类页面之一,在进行页面置换时,其执行过程可分成以下三步:
(1)从指针所指示的当前位置开始,扫描循环队列,寻找A=0且M=0的第一类页面,将所遇到的第一个页面作为所选中的淘汰页。在第一次扫描期间不改变访问位A。
如果第一步失败,即查找一周后未遇到第一类页面,则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有经过的页面的访问位置0。
如果第二步也失败,即未找到第二类页面,则将指针返回到开始的位置,并将所有的访问位复0。然后,重复第一步,如果仍失败,必要时再重复第二步,此时就一定能够找到被淘汰的页。
三、算法流程图:
Clock置换算法流程图:
改进型置换算法流程图:
四、函数模块
主函数模块
函数名称:int main()
功能:显示主菜单,调用函数
检测模块
函数名称:bool inblock(int num) 、bool inblock2(int num)
功能:检测读入的页号是否存在内存中、检测页号是否在内存中并把访问位和修改位置1
修改模块
函数名称:bool change()、int whichpage()
功能:判断页面是否已经被修改、判断内存中第几个需要被置换
Clock模块
函数名称:void CLOCK(int num)
功能:实现Clock置换算法,完成页面置换
改进型Clock模块
函数名称:void LCOCK(int num)
功能:实现改进的ClockL置换算法,完成页面置换
五、
六、程序清单
#includeiostream
#
您可能关注的文档
最近下载
- (商务英语写作实训)chapter 7-sales letters.ppt
- 2023年沪教版五年级下册英语知识点归纳.doc VIP
- 六年级上册-语文一课一练.pdf VIP
- 部编版三年级上册教材解读及教学建议.ppt VIP
- 脑卒中偏瘫患者下肢深静脉血栓预防及护理.pptx VIP
- Daylight钢琴谱五线谱 完整版原版.pdf VIP
- 浙江省电力公司状态检修工作情.ppt VIP
- 2024-2025学年高二语文(选择性必修上)第一单元知识点归类(知识梳理).pdf VIP
- 2024-2025学年上海市徐汇区八年级下学期期末考试英语试卷含详解.docx VIP
- (正式版)H-G-T 22820-2024 化工安全仪表系统工程设计规范.docx VIP
文档评论(0)