- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程设计报告519712006.doc
武汉工业学院
计算机与信息工程系
《操作系统》
课程设计报告
题 目: 页式虚拟存储管理页面置换算法
专 业: 软件工程
班 级: 软件072
学 号: 070505209
姓 名: 汪玲玲
指导老师: 徐军利
2009年 12 月 26 日
(一).课程设计目的
《操作系统》课程设计是计算机类专业的集中实践性环节之一,是学习完《》课程后进行的一次全面的综合练习。其目的在于加深对操作系统课程的理解使学生更好地掌握操作系统的基本概念、基本原理、及基本功能理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统设计、构造和开发现代操作系统的基本能力。“哪一个”页面换出的算法。
(2)数据结构
作业的页面走向(执行过程中对页面的访问顺序)用数组组,则页面走向的长度由用户键盘输入控制以-1为终结符。
页框(作业分得的物理块)在不同置换算法执行之前长度由键盘输入不同的置换算法其数据结构不同但原则式尽可能使程序的时间复杂度最低FIFO,采用队列,对于LRU堆栈,而改进的CLOCK采用循环队。
(3)功能模块划分
将整个程序的模块划分成如下四个部分:
1)主模块:Test.cpp为主界面
2)置换算法模块:由三种置换算法的三个类的各.cpp文件组成。每个类均含有通常的方法模块
????? *判断模块。决定换出哪一块。每一种置换算法对应一种判断算法。* 调整模块。根据判断模块的结果,调整作业分得物理块集合中逻辑页面的情况。
* 置换过程输出模块(在显示器上显示或写入文件)。该模块每发生一次置换,由置换算法模块调用一次。
3)main函数实现各类的实例化,由此进入各置换算法的模拟过程。
(四).程序的基本结构框图和流程图
(参见课程设计纸质档的报告)
(五)
4).算法评价:据以上三种算法得到置换算法之间性能的比较可以看出FIFO算法不具有逻辑合理性入不符合内存的页面访问过程,而页面调入的时间不能反映页面的使用情况,存在着一定的缺陷,LRU算法是根据页面调入内存后的情况来反映的,利用最近最久未使用的页面予以淘汰与最佳置换算法有相同的思想,所以性能较好一些,而改进的CLOCK置换算法是在LRU的基础上考虑到置换代价的,硬件要求较低是用的较多的一种LRU的近似算法,与简单CLOCK算法比较可以减少磁盘的I/O操作次数,但本身的开销有所增加。
(六).实验中的遇到的问题及实验总结
这次实验中,开始时把要弄的置换方法模块划分的都很好,文件分类很清晰,由于使用类的封装优势在头文件中的框架把需要用到得数据结构及内部成员方法罗列出来后,代码的实现没有花费多少时间。虽然用到了指针栈队列等数据结构,但是问题确实数组的空间分配,至此,终于了解到了老是出现内存引用错误的根源了。恍然大悟后,发现其实其他的算法的过程都是正确的。回头想想,其实,整个实验过程没有多大的难度,因为之前的第五次试验的最佳置换算法实现时对页面置换算法有了较为深入的分析,所以其过程是相当熟悉的了。
实验中还碰到的问题是将三种算法的.cpp文件整合在一起时不熟悉所以老是碰壁,后来请教同学,上网查阅后终于知道了工程的整合方法了。这是此次实验的一大收获。从错误中汲取知识,巩固编程技巧,也是此试验的一大目的。工程的建立方法是今后工作的基础,重新温故知识,感觉收获不小呵。
实验结果出来的时候,有一种坦然的心情!好开心的。此外,实验中还有点不足之处就是:页框的截图显示其实是置换算法中使用的模拟页框的数据结构的内容,反映的是其内容的变化,由于对页框的物理特性的理解有误,导致截图是页框模拟结构的内容。其实,解决这点很容易只需在修改数据结构前输出页框的内容即可。由于报告已经完成就没来得及修改,深感歉意。
通过与同学间的交流还了解到了LRU的物理实现方法即使用寄存器的方法可以书上有讲过的这个知识点,只是没有注意到,经同学提点,我发现那个实现方法很好,也很巧妙呢,不禁佩服计算机达人的才智。
七 参考资料
《操作系统》汤子瀛
《C++课程设计》钱能
《c语言程序设计》谭浩强
文档评论(0)