请求页式管理缺页中断模拟设计--FIFO、OPT
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
题目请求页式管理缺页中断模拟设计
--FIFO、OPT
学院计算机科学与技术
专业
班级
姓名
指导教师吴利军
2013 年 1 月16 日
课程设计任务书
学生姓名:
指导教师:吴利军_ 工作单位:计算机科学与技术学院题目: 请求页式管理缺页中断模拟设计--FIFO、OPT
初始条件:
1.预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会和了解缺页和页面置换的具体实施方法。
2.实践准备:掌握一种计算机高级语言的使用。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.实现指定淘汰算法。能够处理以下的情形:
⑴能够输入给作业分配的内存块数;
⑵能够输入给定的页面,并计算发生缺页的次数以及缺页率;
⑶缺页时,如果发生页面置换,输出淘汰的页号。
2.设计报告内容应说明:
⑴需求分析;
⑵功能设计(数据结构及模块说明);
⑶开发平台及源程序的主要部分;
⑷测试用例,运行结果与运行情况分析;
⑸自我评价与总结:
i)你认为你完成的设计哪些地方做得比较好或比较出色;
ii)什么地方做得不太好,以后如何改正;
iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);
iv)完成本题是否有其他方法(如果有,简要说明该方法);
时间安排:
设计安排一周:周1、周2:完成程序分析及设计。
周2、周3:完成程序调试及测试。
周4、周5:验收、撰写课程设计报告。
(注意事项:严禁抄袭,一旦发现,一律按0分记)
指导教师签名:年月日
系主任(或责任教师)签名:年月日
请求页式管理缺页中断模拟设计
——FIFO、OPT
1课程设计目的与功能
1.1设计目的
结合《操作系统》所学内存页式管理章节,掌握虚拟内存设计的重要性,熟悉和掌握请求分页式存储管理的实现原理,通过分析、设计和实现页式虚拟存储管理缺页中断的模拟系统,重点掌握当请求页面不在内存而内存块已经全部被占用时的替换算法(主要通过FIFO和OPT实现),并考察替换算法的评价指标——缺页次数和缺页率,得到淘汰的页面次序。高级语言设计并实现出的结果程序要能够很好地显示页面调入和替换详细信息。
1.2初始条件及可发环境
1.2.1初始条件
1.预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会和了解缺页和页面置换的具体实施方法。
2.实践准备:掌握一种计算机高级语言的使用。
1.2.2开发环境
(1)使用系统:Windows XP
(2)使用语言:C++
(3)开发工具:Visual C++ 6.0
1.3功能实现
设计的结果程序能实现FIFO、OPT算法模拟页式存储管理缺页中断,主要能够处理以下的情形:
(1) 用户能够输入给定分配的内存块数;
(2) 用户输入给定的页面,并计算发生缺页的次数、缺页率及淘汰页面次序;
(3) 程序可随机生成页面序列,或用户输入;
2需求分析及设计说明
2.1需求分析
由于纯页式存储管理提高了内存的利用效率,但并不为用户提供虚存,并且会产生磁盘碎片问题。用户程序将受到物理内存大小的限制。而虚存的存储管理技术
——请求分页存储管理技术和请求分段技术,则很好的解决了这个问题。该设计虚拟实现请求分页管理(只实现FIFO和OPT)。
请求分页系统是在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。它允许只装入部分页面的程序和数据,便启动运行。
以后,再通过调页功能和页面置换功能,陆续把即将要运行的页面调入内存,同时把暂时不运行的页面换出到外存上,置换时以页面为单位。实现将程序正在运行时所需的但尚未在内存的页面调入内存,再将内存中暂时不用的页面从内存置换到外存磁盘上。
为了实现请求分页技术,页表应增加相应的内容,反映该页是否在内存,在外
存的位置,和在内存的时间的长短。请求分页中的页表如表1:
表1
各字段说明如下:
状态位:指示该页是否已调入内存。
访问字段:记录本页在被访问的次数,或记录最近已有多长时间未被访问。
修改位:表示该页面在调入内存后是否被修改过。若未被修改,在替换该页时就不需要再将该页写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。
外存地址:指出该页在外存上的地址,通常是物理块号。
在本设计中模拟FIFO、OPT系统的实现中,只需要用到虚拟页号,物理块号和中断位。页表可用一个结构体的数组实现。
请求分页的具体实现过程如图1
图1请求分页流程图
2.2设计说明
2.2.1算法分析
在进程运行过程中,若其所要访问的页面不在内存,需要把它们调入内存,但内存已无空闲已空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区。但应将哪个页面调出,必须根据替换算法来确定。
该设计采用的是常见置换算法中的先进先出(FIFO)、理想型淘汰算法OPT(Optimal Replacement Algorithm)。
详细算法原理如下:
FIFO(先进先出算法)基本思想:总是选择在内存驻留时间最长的一页将其淘汰,因为最早调入内存的页,不再被使用的可能性比近期调入内存的大。