OS课程设计模板_第1页
OS课程设计模板_第2页
OS课程设计模板_第3页
OS课程设计模板_第4页
OS课程设计模板_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

OSOS课程设计模板课程设计模板 操作系统课程设计报告专业计算机科学与技术学生姓名龚肖班级B计 算机111学号1110704105指导教师李先锋完成日期xx年6月21日信息 工程学院题目页面置换算法的模拟实现1 概述本课程设计是学习完 操作系统原理 课程后进行的一次全面的综合训练 通过课程设 计 更好地掌握操作系统的原理及实现方法 加深对操作系统基础 理论和重要算法的理解 加强学生的动手能力 该题目主要是设计一个虚拟存储区和内存工作区 编程序演示下述算 法的具体实现过程 并计算访问命中率 要求设计主界面以灵活选择某算法 且以下算法都要实现1 先进先 出算法 FIFO 2 最近最久未使用算法 LRU 2 设计原理1 先进 先出 FIFO 页面置换算法这是最早出现的置换算法 该算法总是淘汰最先进入内存的页面 即选择在内存中驻留时间最 久的页面予以淘汰 该算法实现简单 只需把一个进程已调入内存的页面 按照先后次 序链接成一个队列 并设置一个指针 称为替换指针 使它总指向 最老的页面 但该算法与进程实际运行的规律不相适应 因为在进程中 有些页 面经常被访问 比如 含有全局变量 常用函数 例程等的页面 F IFO算法并不能保证这些页面不被淘汰 以下为采用FIFO算法进行页面置换的例子 图1 当进程第一次访问页面2时 将把第7页置换出 因为它是最先被调 入内存的 在第一次访问页面3时 又将把页0置换出 因为它在现 有的2 0 1三个页面中是最老的页 由图1可以看出 利用FIFO算法时进行了12次页面置换 70120304230321xx0177722244400077700033322211100111000333222 1图1利用FIFO置换算法时的置换图2 最近最久未使用 LRU 置换 算法LRU Least RecentlyUsed 置换算法的描述FIFO置换算法性能之所以较差 是 因为它所依据的条件是各个页面调入内存的时间 而页面调入的先 后并不能反映页面的使用情况 最近最久未使用 LRU 的页面置换算法 是根据页面调入内存后的 使用情况进行决策的 由于无法预测各页将来的使用情况 只能利用 最近的过去 作为 最近的将来 的近似 因此 LRU置换算法是选择最近最久未使用 的页面予以淘汰 该算法赋予每个页面一个访问字段 用来记录一个页面自上次被访 问以来所经历的时间t 当须淘汰一个页面时 选择现有页面中其t 值最大的 即最近最久未使用的页面予以淘汰 利用LRU算法对上例进行页面置换算法的结果如图2所示 当进程第一次对页面2进行访问时 由于页面7是最近最久未访问的 故将它置换出去 当进程第一次对页面3进行访问时 第1页成为最近最久未使用的页 将它换出 根据各页以前的使用情况来判断 页面过去和未来的走向之间并无 必然的关系 70120304230321xx01图2利用LRU置换算法时的置换图3 详细设计及 编码页面置换算法的模块图 图3模块划分图4系统流程图void FIFO void printf 页面置换步骤如下 n int i j u count count为中断次数count 0 页面中断次数for i 0 i 图7LRU算法运行界面图显示了页面置换的具体步骤和缺页次数 缺 页率 图8退出或者继续页面结果分析如下FIFO页面置换算法 在分配内存 页面数 AP 小于进程页面数 PP 时 当然是最先运行的AP个页面放 入内存 这时有需要处理新的页面 则将原来内存中的AP个页面最先进入 的调出 是以称为FIFO 然后将新页面放入 以后如果再有新页面需要调入 则都按 的规则进行 算法特点所使用的内存页面构成一个队列 LRU页面置换算法 当分配内存页面数 AP 小于进程页面数 PP 时 当然是把最先执行的AP个页面放入内存 当需要调页面进入内存 而当前分配的内存页面全部不空闲时 选择将其中最长时间没有用到的那个页面调出 以空出内存来放置 新调入的页面 称为LRU 算法特点每个页面都有属性来表示有多长时间未被CPU使用的信息 5 设计小结拥有页面交换机制的操作系统总是把当前进程急需处理 的部分页面换入到内存中 而把更多暂时不需要处理的页面放置到 外存中 由于进程需要处理的页面顺序不同 因此必须在内存与外存之间进 行页面交换 交换算法也就应运而生 通过这次的课程设计让我有了很大的进步 当然进步是建立在发现 了很大的不足的前提下 下面就是我总结出来的不足与对自己的要求 首先 是对操作系统的认知的不足 这也是很重要的一点 以前一直认为学好C语言才是最根本的 其他的一些高级语言只要进 过变通 就肯定能学好 但是现在彻底的醒悟 操作系统其实是很重要的课程 一定要认真 的学习 否则对于学软件工程的学生来说是很大的损失 因为操作 系统在软件和网络中的应用是很广泛的 这点不足已经认识到 下面就是该怎么做去挽救这点不足 在接下来的两个月的寒假里 将是把操作系统这门课程再认认真真 的学习一遍的最好时机 我已做好准备 然后 是对这次课程设计的认识 课程设计是非常能提高一个人对操作系统这门语言的运用技能的机 会 但是我没能很好地把握这次机会 虽然把项目的代码认真的输入了 运行后也没有错误 但是对代码中的每个部分的理解是很欠缺的 甚至不知道里面是运 用的什么方法来实现该项目要达到的某个效果 所以这就更加的坚 定了要在暑假认真地学习操作系统的决心 最后 是对我所学的软件工程这个专业的认知 其实软件工程的学生是很有前途的 但是前途是建立在你把这门专 业学地很好的基础上 所以为了我的未来 学好这个专业是一定得 的 自己不能再一次一次地错过学习的机会了 以后得更加的努力6 参 考文献 1 计算机操作系统 第3版 汤小丹 西安电子科技大学出 版社 2 C语言程序设计 孟庆昌 人民邮电出版社 3 计算机操作 系统 汤子瀛 哲凤屏 西安电子科技大学学出版社 4 计算机操作 系统 王清 李光明 冶金工业出版社 5 操作系统实验教程 张丽芬 刘利雄 清华大学出版社 附录源程序清单 include include incl udevoid FIFO void void LRU void void chushihua void char a int m n i y 100 m为物理块数 n为要访问的页面数 y存储页面地 址流 typedef structshiye int pn 1表示该物理快未被使用 其他情况为实页中的虚页号int time 页面在内存中时间 shiye shiye x 10 z 10 最大物理快数10void chushihua printf 页面置换算法的模拟实验 n n prin tf 0810704402陈飞 n n printf 请输入物理块数 不大于10 scanf d for i 0 imax max x i time tag i retur n tag void Xunhuan printf nPlease select n1 FIFO算法 n2 LRU算法 n scanf

温馨提示

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

评论

0/150

提交评论