操作系统实验报告-存储管理的模拟实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告
---(5)存储管理的模拟实现
学生姓名:张虹学号:6100409033 专业班级:电Ⅲ091班实验类型:□验证■综合□设计□创新实验日期:实验成绩:
一、实验目的
存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。
二、实验内容
1.过随机数产生一个指令序列,共320条指令。其地址按下述原则生成:
①50%的指令是顺序执行的;
②25%的指令是均匀分布在前地址部分;
③25%的指令是均匀分布在后地址部分;
具体的实施方法是:
A.在[0,319]的指令地址之间随机选区一起点M;
B.顺序执行一条指令,即执行地址为M+1的指令;
C.在前地址[0,M+1]中随机选取一条指令并执行,该指令的地址为M’;
D.顺序执行一条指令,其地址为M’+1;
E.在后地址[M’+2,319]中随机选取一条指令并执行;
F.重复A—E,直到执行320次指令。
2.指令序列变换成页地址流,设:
(1)页面大小为1K;
(2)用户内存容量为4页到32页;
(3)用户虚存容量为32K。
在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条—第9条指令为第0页(对应虚存地址为[0,9]);
第10条—第19条指令为第1页(对应虚存地址为[10,19]);
。。。。。。。。。。。。。。。。。。。。。
第310条—第319条指令为第31页(对应虚存地址为[310,319]);
按以上方式,用户指令可组成32页。
3.计算并输出下述各种算法在不同内存容量下的命中率。
A.FIFO先进先出的算法
B.LRU最近最少使用算法
C.LFU最少访问页面算法
三、实验要求
1、需写出设计说明;
2、设计实现代码及说明
3、运行结果;
四、主要实验步骤
1、分析算法结构;
2、画出算法的流程图,即设计说明;
3、根据画出的流程图使用C语言编写相应的代码(代码过长,放到最后);
程序主要由main函数和以下几个函数组成:
void initialization();初始化内存数据
void FIFO();FIFO先进先出算法;
void LRU();LRU最久未使用算法;
void LFU();LFU最近最久未使用算法;
4、检查代码,将编出的代码编译、链接,验证其正确性。
页面置换算法整体结构
FIFO页面置换算法
LRU页面置换算法
LFU页面置换算法
五、实验数据及处理结果
六、实验体会或对改进实验的建议
我做实验的时候,主要的难度是在几个特殊情况的处理上,如LRU内存中的页面都是之前没有调用过的,那怎么办,还有就是LFU中还没有达到“一定时间间隔”的条件时怎么办?
另外就是由于实验使用的是系统产生的随机数,所以难以验证实验结果的正确性。
七、参考资料
《计算机操作系统》
《计算机操作系统实验指导书》
《C程序设计》
《C语言程序设计_现代方法》
《计算机操作系统教程习题解答与实验指导(第二版)》
八、实验代码