操作系统页面置换算法.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案 精彩文档 操作系统 课程设计报告 院 (系): 信息与数学学院 专 业: 信息与计算科学 姓 名: 张三 班 级:_ 信计11402 学 号: 12 29 14 题 目: 页面置换算法 指导教师: 孙庆生 2017年5月27日  一、课程设计目的 《Linux操作系统课程设计》是在学完《操作系统》课程之后的实践教学环节,是复习和检验所学课程的重要手段。通过实验环节,加深学生对操作系统基本原理和工作过程的理解,提高学生独立分析问题、解决问题的能力,增强学生的动手能力。 二、课程设计的任务和要求 由于具体的操作系统相当复杂,不可能对所有管理系统进行详细地分析。因此,选择了操作系统中最重要的管理之一存储器管理,作为本设计的任务。页面置换算法是虚拟存储管理实现的关键,要求在充分理解内存页面调度机制的基础上,模拟实现OPT、FIFO、LRU几种经典页面置换算法,比较各种置换算法的效率及优缺点,从而了解虚拟存储实现的过程。 具体任务如下: 1) 分析设计内容,给出解决方案 ①要说明设计实现的原理; ②采用的数据结构:定义为进程分配的物理块;定义进程运行所需访问的页面号;定义页的结构; 2)模拟三种页面置换算法; 3)比较各种算法的优劣。 4)对程序的每一部分要有详细的设计分析说明。 5)源代码格式要规范。 6) 设计合适的测试用例,对得到的运行结果要有分析。 任务要求: Linux平台下实现(Windows+ VMware+ Ubuntu) 三、课程的详细设计 1)系统设计 在进程运行过程中,若其所要访问的页面不在内存而需把它们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区中。但应将哪?个页面调出,须根据一定的算法来确定。通常,把选择换出页面的算法称为页面置换算法。?一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面换出,或将那些在较长时间内不会再访问的页面调出。 2)主程序流程图 输入页面序列 输入页面序列 输入物理块数 调用各种置换算法,OPT,LRU,FIFO页面置换算法 计算缺页次数和缺页率 结束 开始 主流程图 3)先进先出(FIFO)页面置换算法 算法的基本思想:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单只需把一个进程已调入内存的页面,按先后次序存入一个时间数组,并将其中时间值最大的页面进行淘汰,并替换入新的页面就可以实现。 算法流程图: 入口 入口 初始化数据 i指向下一个页面 页面是否存在 物理块是否有空闲 选择最先进入的页面作为淘汰页 计算缺页率,并输出数据 结束 输出当前页,i++ 将页面放到空闲的物理块处 i页面长度 Y Y Y N N N FIFO置换算法 4)最佳页面置换置换算法(OPT) 算法的基本思想:其所选择的被淘汰页面,将是永不使用的,或者是在最长时间内不再被访问的页面。可保证获得最低的缺页率。但由于人们目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法也是无法实现的。但是可利用该算法去评价其它算法。 算法流程图: 入口 入口 初始化数据 i指向下一个页面 页面是否存在 物理块是否有空闲 选择以后最长时间内(未来)不在被访问的页面作为淘汰页 计算缺页率,并输出数据 结束 输出当前页, i++ 将页面放到空闲的物理块处 i页面长度 Y Y Y N N N OPT页面置换算法 5)最近最久未使用页面置换算法LRU 算法的基本思想:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先淘汰。该算法的主要出发点是,如果某页被访问了,则它可能马上还被访问。或者反过来说,如果某页很长时间未被访问,则它在最近一段时间不会被访问。 算法流程图: 入口 入口 初始化数据 i指向下一个页面 页面是否存在 物理块是否有空闲 选择最近最久未使用的页面作为淘汰页 计算缺页率,并输出数据 结束 输出当前页,i++ 将页面放到空闲的物理块处 i页面长度 Y Y Y N N N LRU页面置换算法 四、源程序代码 #includestdio.h #includemalloc.h #defin

文档评论(0)

dmz158 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档