操作系统课程设计报告519712006_第1页
操作系统课程设计报告519712006_第2页
操作系统课程设计报告519712006_第3页
操作系统课程设计报告519712006_第4页
操作系统课程设计报告519712006_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、武汉工业学院计算机与信息工程系操作系统课程设计报告题 目: 页式虚拟存储管理页面置换算法 专 业: 软件工程 班 级: 软件072 学 号: 070505209 姓 名: 汪玲玲 指导老师: 徐军利 2009年12月26 日 (一).课程设计目的 操作系统课程设计是计算机类专业的集中实践性环节之一,是学习完操作系统课程后进行的一次全面的综合练习。其目的在于加深对操作系统课程的理解,使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统,设计、构造和开发现代操作系统的基本能力,为今后从事的各种实际工作,如设计、分析和改进各种系

2、统软件和应用软件提供必要的软件理论基础。(二).课程设计内容(1).设计题目:页式虚拟存储管理页面置换算法 (2).目的与要求:熟练掌握计算机虚拟存储技术的原理与基础上,利用一种程序设计语言模拟几种置换算法的,加深对原理的理解的基础上提高编程及解决问题的能力。要求页面分配采用固定分配局部置换,且置换过程应清晰地显示在屏幕上。(3).实验内容:实现页式虚拟存储管理页面置换算法的LRU,FIFO以及改进的Clock置换算法的模拟。(三).课程设计基本原理和解决方案(1).实验原理.对于本任务规定的前提:页面分配采用固定分配局部置换,则置换发生的时机是作业已经将操作系统分配的固定数目的物理块全部用完

3、且发生缺页的时候。此时必须要将已经装入内存的部分逻辑页面换出以便将所缺的页面调入内存。置换算法就是一个决定将内存中“哪一个”页面换出的算法。(2)数据结构l 作业的页面走向(执行过程中对页面的访问顺序)用数组组,则页面走向的长度由用户键盘输入控制以-1为终结符。l 页框(作业分得的物理块)在不同置换算法执行之前长度由键盘输入不同的置换算法其数据结构不同但原则式尽可能使程序的时间复杂度最低FIFO,采用队列,对于LRU堆栈,而改进的CLOCK采用循环队。(3)功能模块划分 将整个程序的模块划分成如下四个部分:1)主模块:Test.cpp为主界面2)置换算法模块:由三种置换算法的三个类的各.cpp

4、文件组成。每个类均含有通常的方法模块 *判断模块。决定换出哪一块。每一种置换算法对应一种判断算法。* 调整模块。根据判断模块的结果,调整作业分得物理块集合中逻辑页面的情况。 * 置换过程输出模块(在显示器上显示或写入文件)。该模块每发生一次置换,由置换算法模块调用一次。3)main函数实现各类的实例化,由此进入各置换算法的模拟过程。 (四).程序的基本结构框图和流程图 (参见课程设计纸质档的报告)(五).源代码,运行的结果及结果分析1)源代码(参见课程设计的程序或是纸质档的课设报告)2)运行结果(参见下页)3)结果分析FIFO运行结果分析:输入的页面走向为:7 0 1 2 0 3 0 4 2

5、3开始物理块中不存在页面调入页面:7 0 1物理块满后,调用函数进行操作,之后的页框分别为:第4个页框为:2 0 1 第5个页框为:命中 第6个页框为:2 3 1第7个页框为:2 3 0 第8个页框为:4 3 0 第9个页框为:4 2 0 第10个页框为:4 2 3 LRU运行结果分析:输入的页面走向为:7 0 1 2 0 3 0 4 2 3开始物理块中不存在页面调入页面:7 0 1物理块满后,调用函数进行操作,之后的页框分别为:第4个页框为:2 0 1 第5个页框为:命中 第6个页框为:2 0 3第7个页框为:命中 第8个页框为:4 0 3 第9个页框为:4 0 2 第10个页框为:4 3

6、2 对UpdateClock(第二个模拟)置换算法的结果分析:输入的页面走向为:7 1 1 020 00 31 01 40 21 30备注:70/1表示该页面是否被修改过了0未修改,1修改过开始物理块中不存在页面调入页面:7 0 1物理块满后,调用函数进行操作,之后的页框分别为:第4个页框为:7 2 1 第5个页框为:7 2 0 第6个页框为:3 2 0第7个页框为:命中 第8个页框为:3 4 0 第9个页框为:3 4 2 第10个页框为:命中 4).算法评价:据以上三种算法得到置换算法之间性能的比较可以看出FIFO算法不具有逻辑合理性入不符合内存的页面访问过程,而页面调入的时间不能反映页面的

7、使用情况,存在着一定的缺陷,LRU算法是根据页面调入内存后的情况来反映的,利用最近最久未使用的页面予以淘汰与最佳置换算法有相同的思想,所以性能较好一些,而改进的CLOCK置换算法是在LRU的基础上考虑到置换代价的,硬件要求较低是用的较多的一种LRU的近似算法,与简单CLOCK算法比较可以减少磁盘的I/O操作次数,但本身的开销有所增加。(六)实验中的遇到的问题及实验总结这次实验中,开始时把要弄的置换方法模块划分的都很好,文件分类很清晰,由于使用类的封装优势在头文件中的框架把需要用到得数据结构及内部成员方法罗列出来后,代码的实现没有花费多少时间。虽然用到了指针栈队列等数据结构,但是问题确实数组的空

8、间分配,至此,终于了解到了老是出现内存引用错误的根源了。恍然大悟后,发现其实其他的算法的过程都是正确的。回头想想,其实,整个实验过程没有多大的难度,因为之前的第五次试验的最佳置换算法实现时对页面置换算法有了较为深入的分析,所以其过程是相当熟悉的了。实验中还碰到的问题是将三种算法的.cpp文件整合在一起时不熟悉所以老是碰壁,后来请教同学,上网查阅后终于知道了工程的整合方法了。这是此次实验的一大收获。从错误中汲取知识,巩固编程技巧,也是此试验的一大目的。工程的建立方法是今后工作的基础,重新温故知识,感觉收获不小呵。实验结果出来的时候,有一种坦然的心情!好开心的。此外,实验中还有点不足之处就是:页框的截图显示其实是置换算法中使用的模拟页框的数据结构的内容,反映的是其内容的变化,由于对页框的物理特性的理解有误,导致截图是页框模拟结构的内容。其实,解决这点很容易只需在修改数据结构前输出页框的内容即可。由于报告已经完成就没来得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论