当前位置:首页 > 请求页式管理缺页中断模拟设计--FIFO、OPT
学 号:
0121010340714
课 程 设 计
题 目 学 院 专 业 班 级 姓 名 指导教师
请求页式管理缺页中断模拟设计
--FIFO、OPT
计算机科学与技术
吴利军
2013 年 1 月 16 日
武汉理工大学《计算机操作系统教程》课程设计报告书
课程设计任务书
学生姓名:
指导教师: 吴利军_ 工作单位: 计算机科学与技术学院
题 目: 请求页式管理缺页中断模拟设计--FIFO、OPT 初始条件:
1.预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会和了解缺页和页面置换的具体实施方法。
2.实践准备:掌握一种计算机高级语言的使用。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.实现指定淘汰算法。能够处理以下的情形:
⑴ 能够输入给作业分配的内存块数;
⑵ 能够输入给定的页面,并计算发生缺页的次数以及缺页率; ⑶ 缺页时,如果发生页面置换,输出淘汰的页号。 2.设计报告内容应说明: ⑴ 需求分析;
⑵ 功能设计(数据结构及模块说明); ⑶ 开发平台及源程序的主要部分;
⑷ 测试用例,运行结果与运行情况分析; ⑸ 自我评价与总结:
i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正;
iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他方法(如果有,简要说明该方法);
时间安排:
设计安排一周:周1、周2:完成程序分析及设计。
周2、周3:完成程序调试及测试。 周4、周5:验收、撰写课程设计报告。
(注意事项:严禁抄袭,一旦发现,一律按0分记)
指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日
1
1
武汉理工大学《计算机操作系统教程》课程设计报告书
请求页式管理缺页中断模拟设计
——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) 用户输入给定的页面,并计算发生缺页的次数、缺页率及淘汰页面次序;
2
2
武汉理工大学《计算机操作系统教程》课程设计报告书
(3) 程序可随机生成页面序列,或用户输入;
2需求分析及设计说明
2.1需求分析
由于纯页式存储管理提高了内存的利用效率,但并不为用户提供虚存,并且会
产生磁盘碎片问题。用户程序将受到物理内存大小的限制。而虚存的存储管理技术——请求分页存储管理技术和请求分段技术,则很好的解决了这个问题。该设计虚拟实现请求分页管理(只实现FIFO和OPT)。
请求分页系统是在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。它允许只装入部分页面的程序和数据,便启动运行。以后,再通过调页功能和页面置换功能,陆续把即将要运行的页面调入内存,同时把暂时不运行的页面换出到外存上,置换时以页面为单位。实现将程序正在运行时所需的但尚未在内存的页面调入内存,再将内存中暂时不用的页面从内存置换到外存磁盘上。
为了实现请求分页技术,页表应增加相应的内容,反映该页是否在内存,在外存的位置,和在内存的时间的长短。请求分页中的页表如表1:
表1
虚拟页号 物理块号 状态位 辅存地址 访问字段 修改位 各字段说明如下:
状态位:指示该页是否已调入内存。
访问字段:记录本页在被访问的次数,或记录最近已有多长时间未被访问。 修改位:表示该页面在调入内存后是否被修改过。若未被修改,在替换该页时就不需要再将该页写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。
外存地址:指出该页在外存上的地址,通常是物理块号。
在本设计中模拟FIFO、OPT系统的实现中,只需要用到虚拟页号,物理块号和中断位。页表可用一个结构体的数组实现。 请求分页的具体实现过程如图1
3
3
共分享92篇相关文档