欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    请求页式管理缺页中断模拟设计--FIFO、OPT.doc

    • 资源ID:1163843       资源大小:228.50KB        全文页数:14页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    请求页式管理缺页中断模拟设计--FIFO、OPT.doc

    1、武汉理工大学计算机操作系统教程课程设计报告书学 号: 0120810340631课 程 设 计题 目请求页式管理缺页中断模拟设计-FIFO、OPT学 院计算机科学与技术专 业计算机科学与技术班 级0806班姓 名张 军指导教师孙玉芬2011年1月20日课程设计任务书学生姓名: 张 军 专业班级: 计算机0806 指导教师: 孙玉芬 工作单位: 计算机科学与技术学院 题 目: 请求页式管理缺页中断模拟设计-FIFO、OPT初始条件:1预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会和了解缺页和页面置换的具体实施方法。2实践准备:掌握一种计算机高级语言的使用

    2、。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1实现指定淘汰算法。能够处理以下的情形: 能够输入给作业分配的内存块数; 能够输入给定的页面,并计算发生缺页的次数以及缺页率; 缺页时,如果发生页面置换,输出淘汰的页号。2设计报告内容应说明: 需求分析; 功能设计(数据结构及模块说明); 开发平台及源程序的主要部分; 测试用例,运行结果与运行情况分析; 自我评价与总结:i)你认为你完成的设计哪些地方做得比较好或比较出色;ii)什么地方做得不太好,以后如何改正;iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);iv)完成本题是否有其他方法(如果

    3、有,简要说明该方法);时间安排:设计安排一周:周1、周2:完成程序分析及设计。周2、周3:完成程序调试及测试。周4、周5:验收、撰写课程设计报告。(注意事项:严禁抄袭,一旦发现,一律按0分记)指导教师签名: 2011年 1月20日系主任(或责任教师)签名: 2011年 1月20日请求页式管理缺页中断模拟设计FIFO、OPT1课程设计目的与功能 1.1设计目的 结合操作系统所学内存页式管理章节,掌握虚拟内存设计的重要性,熟悉和掌握请求分页式存储管理的实现原理,通过分析、设计和实现页式虚拟存储管理缺页中断的模拟系统,重点掌握当请求页面不在内存而内存块已经全部被占用时的替换算法(主要通过FIFO和O

    4、PT实现),并考察替换算法的评价指标缺页次数和缺页率,得到淘汰的页面次序。高级语言设计并实现出的结果程序要能够很好地显示页面调入和替换详细信息。1.2初始条件及可发环境 1.2.1初始条件 1预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会和了解缺页和页面置换的具体实施方法。2实践准备:掌握一种计算机高级语言的使用。 1.2.2开发环境 (1)使用系统:Windows XP(2)使用语言:C+(3)开发工具:Visual C+ 6.01.3功能实现 设计的结果程序能实现FIFO、OPT算法模拟页式存储管理缺页中断,主要能够处理以下的情形:(1) 用户能够

    5、输入给定分配的内存块数;(2) 用户输入给定的页面,并计算发生缺页的次数、缺页率及淘汰页面次序;(3) 程序可随机生成页面序列,或用户输入;2需求分析及设计说明 2.1需求分析 由于纯页式存储管理提高了内存的利用效率,但并不为用户提供虚存,并且会产生磁盘碎片问题。用户程序将受到物理内存大小的限制。而虚存的存储管理技术请求分页存储管理技术和请求分段技术,则很好的解决了这个问题。该设计虚拟实现请求分页管理(只实现FIFO和OPT)。请求分页系统是在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。它允许只装入部分页面的程序和数据,便启动运行。以后,再通过调页功能和页面置换

    6、功能,陆续把即将要运行的页面调入内存,同时把暂时不运行的页面换出到外存上,置换时以页面为单位。实现将程序正在运行时所需的但尚未在内存的页面调入内存,再将内存中暂时不用的页面从内存置换到外存磁盘上。为了实现请求分页技术,页表应增加相应的内容,反映该页是否在内存,在外存的位置,和在内存的时间的长短。请求分页中的页表如表1:表1虚拟页号物理块号状态位辅存地址访问字段修改位各字段说明如下:状态位:指示该页是否已调入内存。访问字段:记录本页在被访问的次数,或记录最近已有多长时间未被访问。修改位:表示该页面在调入内存后是否被修改过。若未被修改,在替换该页时就不需要再将该页写回到外存上,以减少系统的开销和启

    7、动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。外存地址:指出该页在外存上的地址,通常是物理块号。在本设计中模拟FIFO、OPT系统的实现中,只需要用到虚拟页号,物理块号和中断位。页表可用一个结构体的数组实现。请求分页的具体实现过程如图1图1请求分页流程图 2.2设计说明 2.2.1算法分析在进程运行过程中,若其所要访问的页面不在内存,需要把它们调入内存,但内存已无空闲已空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区。但应将哪个页面调出,必须根据替换算法来确定。该设计采用的是常见置换算法中的先进先出(FIFO)、

    8、理想型淘汰算法OPT(Optimal Replacement Algorithm)。详细算法原理如下:FIFO(先进先出算法)基本思想:总是选择在内存驻留时间最长的一页将其淘汰,因为最早调入内存的页,不再被使用的可能性比近期调入内存的大。该算法实现简单,只需要把一个进程调入内存的页面,按先后次序连结成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。但是该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如有全局变量、常用函数,例程等的页面,FIFO算法并不能保证这些页面不被淘汰。使用FIFO替换算法效率比较低,可能会比理想型算法要多出一倍。低的原因是:基于处

    9、理器按线性顺序访问地址空间这一假设。事实上,许多时候,处理器不是按线性顺序访问地址空间的。例如,执行循环结构的程序段。使用FIFO算法时,在未给进程或作业分配足够它所需要的页面数时,有时会出现分配的页面数增,缺页次数反而增加的现象(Belady现象)。 例如针对请求序列:1 2 3 4 1 2 5 1 2 3 4 5,若分配3个可用内存块,使用FIFO算法,一共会缺页9次,缺页率:75%;而如果分配4个可用内存块,则一共会缺页10次,缺页率:83.3%。OPT(理想型淘汰算法)基本思想:当要调入一新页而必须淘汰一旧页时,所淘汰的页是以后不再使用的,或者是以后相当长的时间内不会使用的。采用理想型

    10、替换算法,通常可保证获得最低的缺页率。但是由于人们目前无法预知一个进程在内存的若干个页面中,哪个页面是未来最长时间内不再被访问的,因而该算法是无法实现的,但是在模拟设计中,由于是事先给定一个页面序列,即知道各个时刻以前和以后的页面出现情况,所以可实现该算法。在实际系统中,虽无法实现理想型淘汰算法,但是可用它来评价其他替换算法。2.2.2数据结构模拟设计时,页表没项记录的数据类型用结构体定义。整该页表用数组模拟。结构体有三个成员:int page_num 表示页面号;int memory_num表示页面所对应的内存块号;int is_in_memory是存在状态位标志,表示页面是否在内存,0表示

    11、不在内存,1表示在内存。在每一个算法函数中都要初始化页表,否则,后面的算法会受前面算法结果的影响。struct pageint page_num; /表示页面号int memory_num; /表示页面所对应的内存块号int is_in_memory;/ 是存在状态位标志,表示页面是否在内存,0 表示不在内存,1表示在内存;page page_table初始值; for(int i=0;i10;i+) /初始化页表: page-tablei.page_num=i;page_tablei.memory_num=-1; /初始化,内存块号为-1,即没在内存块中。page_tablei.is_in_

    12、memory =0; /初始化时,各页面均不在内存 页面请求序列:int *page_array= new intinputSize。 内存在程序中模拟内存存放页面号:int *memory=new intmemorySize 2.2.3函数实现 Control()函数是class control的构造函数,用来初始化页表、内存(调用initial()函数)。提示并接受用户输入等待调入页面数page_size,可用物理块数memory_size,并随机生成请求页面,或用户自己输入。然后调用FIFO()、OPT()函数实现按不同替换算法调入页面进内存。void FIFO()函数实现先进先出的替换

    13、算法调入页面。void OPT()函数实现理想型替换算法。3程序的主要模块说明 3.1 control类封装内存管理3.1.1 FIFO替换算法实现伪函数void control:FIFO()control:init(); 初始化页表等 do if(当前页在内存)else(当前页不在内存,直接加载进入物理块)缺页累积;加载当前页进入内存;修改页表置当前页在页表的是否在内存标志为1。将该页在内存的位置对应。while(内存物理块没有加载满);/内存物理块已经加载满了; for(剩下的页面循环)if(当前页在内存)else(当前页不在内存)缺页累积。替换页面;修改页表置当前页在页表的是否在内存标志

    14、为1。将该页在内存的位置对应。利用算法得到下次替换的物理块号。输出缺页次,缺页率,淘汰页面次序。 3.1.2 OPT替换算法实现伪函数 void control:OPT()control:init();/初始化页表等 for(对每个页表循环处理) for(检查每个物理块) if (如果该页在内存物理块中) 置判别标志为1 if(如果该页不在内存,并且物理快放满) 缺页累加并权值数组每个记录元素清零 for(物理块每个元素检查) for(从该页后面的那个页开始计算权值)权值累加; 得到最大权值所在的物理块,即是下次需要替换的页 替换该页,加入内存 if(该页不在内存,并且内存物理块没有满) 缺页

    15、累加 直接加载进内存 输出缺页次、缺页率和淘汰页号次序。 3.2 main函数 利用页式管理control类建立一个对象,来实现FIFO、OPT。4使用说明及运行分析 4.1使用说明及运行 运行程序根据提示输入调入页面数和可使用的物理块数,再选择是用户输入还是计算机随机产生页面号。观察页面调度过程,处理完各页面后,统计并显示缺页次数、缺页率和淘汰页面号次序。 4.2测试实例和运行结果4.2.1 FIFO算法 输入给定的页面数:10输入给作业分配内存的物理块数:3随机生成页面请求序列,如图2:5 7 3 8 8 0 5 4 5 2 图2运行结果如图3 图3 4.2.2 OPT算法 输入给定的页面

    16、数:10输入给作业分配内存的物理块数:3随机生成页面请求序列,如图4:7 8 2 6 7 8 1 5 6 5 图4 运行结果如图5 图5 4.3结论与分析 从运行结果看出程序能满足模型设计的要求,提示用户对请求序列的大小和可用内存数量进行限制,并提示用户输入请求序列号,或系统随机生成序列,按照不同的替换算法处理并且显示请求页面的调入和替换情况。通过以上运行,比较各种算法的缺页次数和缺页率,可以看出OPT替换算法具有最小的缺页率。虽理论上最优,但是实际却无法实现该算法。5自我评价与总结在完成了模拟系统的设计和实现后,觉得自己确实获益匪浅。首先,值得肯定的是:能够一开始就清晰分析了程序的设计流程及

    17、实现要求与原理,利用流程图,较好地理解了请求分页的工作流程;俩个主要算法设计较合理,实现容易;结果显示清楚,能较好的反映各请求页面的存在和替换信息。此外还借助C+语言的类class封装的方法将页式管理整个操作封装起来,容易补充,数据更安全,有益于继承,使功能更强大。然而,设计不足的地方也是存在的:模拟系统中,用的是一个数组(数据分配连续)来模拟内存空间而实际系统请求分页存储管理时,所分配的内存是不连续的,或许可能用链表的形式可以改进;另外,在设计OPT算法时,语句嵌套太多,不利于程序的阅读,而且参数和标志的变量的设计不太合理,也加深了程序不利于阅读。最后,没能实现内存很直观的调度过程的呈现。其

    18、次,在设计过程中,为了较好地完成设计,也参阅和回忆结合了其他相关知识,操作系统相关知识为主要架构,高级语言c+知识为工具。此过程的学习,丰富和巩固了操作系统的理论知识,对课堂上不明确和不懂的知识,如请求分页的工作流程,都得到了很好补充学习,同时也增加了c+语言本身的应用能力,极大提高了自身学习该门语言的热情。懂得了编译、调试过程中错误的判断与矫正,积累了不少经验。再其次,想补充的是其他可用算法的实现:请求分页内存管理的页面替换还可以用LRU(最近最久未使用页面置换算法)和轮转法(Round Robin)。LRU的基本思想是:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先

    19、淘汰。即当需要淘汰一页时,选择最长时间未使用的页。它是基于假设:如果某页被访问,它可能马上还要被访问;相反,如果某页长时间未被访问,它可能最近也不可能被访问。就是本质上与OPT算法相反的过程。最后,个人认为课程设计的范围还可以放的更广些,例如就实现内存页式(或段式)的管理,可以一起包含些内容,如地址的转换,空间的分配与回收,和虚存调度等,这样可以更概括的,更有逻辑,更全面的加深对计算机各个逻辑块的工作原理。本科生课程设计成绩评定表班级:计科0806姓名:张军学号:0120810340631序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性20

    20、4设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:2011年 月 日本文是通过网络收集的资料,如有侵权请告知,我会第一时间处理。本店专业 提供 豆丁网 道客巴巴 百度文库 智客(21ask) 文档在线 网站的原始文档下载服务。收费标准:1、 豆丁网: 按照豆丁网原价的50%收取,不收手续费。2、 道客巴巴:按照道客巴巴网站原价的90%收取,不收手续费。3、 百度文库:所有文档,无论多少积分,统一收取1元,不收手续费。4、 智客网:

    21、 按照智客网的原价收取,手续费1元。(智客网站 每次充值最少是20元)5、 文档在线:所有文档,无论多少积分,统一收取5元,不收手续费(文档在线网站,每次充值至少20元)。关于发货:(5分钟内完成)1、 通过旺旺发送。2、 通过QQ发送。3、 通过邮箱发送。联系方式:1、 QQ:16405228812、 旺旺:mx5976516613、 邮箱:16405228814、 手机:15018530036(限短信)注意事项:1、 所有文档一经售出概不退款。2、 大家购买时,请按实际的价格选择合适的宝贝数量。否则不予发货。谢谢配合。3、 拍下宝贝时,务必备注清楚文档网站链接地址(或者文档的完整名称)以及邮箱地址。4、 店主在线时再拍,以防止不能及时的给您发货。您有任何疑问,请联系我!欢迎大家前来咨询!营业时间 早上10:30-01:00 1313


    注意事项

    本文(请求页式管理缺页中断模拟设计--FIFO、OPT.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922