请求页式管理缺页中断模拟设计--FIFO、OPT.doc
《请求页式管理缺页中断模拟设计--FIFO、OPT.doc》由会员分享,可在线阅读,更多相关《请求页式管理缺页中断模拟设计--FIFO、OPT.doc(14页珍藏版)》请在沃文网上搜索。
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表示
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 请求 管理 中断 模拟 设计 FIFO OPT
