预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

XXXX大学 实验报告 | | 实验名称实验四存储器管理实验 课程名称操作系统 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期: 华北电力大学实验报告 第页共页 一、实验目的及要求 一、实验目的 存储器管理的主要功能是,合理地分配内存空间,数据存储和查询。其中,请求页式存储管理是一种具有虚拟空间技术的存储器管理系统。 本实验的目的是,设计请求页式存储管理中的页面置换算法,加深了解虚拟存储技术的特点,掌握各种页面置换的算法。 二、实验要求 (1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: ①50%的指令是顺序执行的。 ②25%的指令均匀分布在低地址部分。 ③25%的指令均匀分布在高地址部分。 具体实施的方法是: ①在[0,319]的指令地址之间随机产生一个起点m; ②顺序执行一条指令,即执行m+1处的执行; ③在地址[0,m+1]中随机选取一条指令执行,该指令的地址为m1; ④顺序执行一条指令,即执行m1+1处的执行; ⑤在地址[m1+2,319]中随机选取一条指令执行; ⑥重复上述步骤直到执行了320条指令为止。 (2)将指令序列改变为页地址流,并假设: ①页面尺寸为1K。 ②用户的内存容量为4页到32页。 ③用户的虚存容量为32K。 在用户虚存中,按每K存放10条指令来排列虚存地址,即320条指令在虚存放方式为: 第0条~第9条为0号页(对应的虚存地址为[0,9])。 第10条~第19条为1号页(对应的虚存地址为[10,19])。 ………… 第310条~第319条为31号页(对应的虚存地址为[310,319])。 按上述方式,用户指令可组成32页。 (3)计算并输出下述各种算法在不同内存容量下的命中率。 ①先进先出算法(FIFO)。 ②最近最少使用算法(LRU)。 ③最佳淘汰算法。 ④最少访问页面算法(LFR)。 其中,命中率为: 命中率=(1+缺页次数)/页地址流长度 本实验中,页的地址流长度为320,页面失效次数为每次访问响应指令时,该指令对应的页面不在内存中的次数。 3.随机数的产生方法 在VC中设计到随机数有两个函数srand()andrand()。srand()的作用是是一个种子,提供每次获得随机数的基数而已,rand()根据种子而产生随机数。 注意 1:srand()里的值必须是动态变化的,否则得到的随机数就是一个固定数 2:如果我们想得到一个0-60的随机数那么可以写成 inti; srand(GetTickCount()); i=rand()%60; 二、实验所需仪器、设备、材料 PC机 三、实验原理 1、分页请求系统 为了能实现请求调页和置换功能,系统必须提供必要的硬件支持,其中,最重要的是: (1)请求分页的页表机制。它是在分页的页表机制上增加若干个项而形成的,作为请求分页的数据结构; (2)缺页中断机构。每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断,以请求OS将所缺的页面调入内存; (3)地址变换机构。它同样是在分页的地址变换机构的基础上发展形成的。 为了实现请求调页还须得到OS的支持,在实现请求调页功能时,石油OS将所需的页从外存调入内存;在实现置换功能时,也是由OS将内存的某些页调至外存。 2、页面置换算法 一、最佳(Optimal)置换算法 采用最佳置换算法可保证获得最低的缺页率。但由于人们目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不在被访问的,因而该算法也是无法实现的,但是可利用该算法去评价其它算法。图6-3示出了利用最佳置换算法时的置换图。由图可看出,采用最佳置换算法,只发生了6次页面置换。 二、先进先出页面置换算法 该算法总是淘汰最先进入内存的页面,即选择在内存中的驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老页面。但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,含有全局变量、常用函数、例程等的页面,FIFO置换算法并不能保证这些页面不被淘汰。 三、最近最久未使用LRU置换算法 1、LRU(LeastRecentlyUsed)算法的描述 FIFO置换算法之所以性能较差,是因为它所依据的条件是各个页面调入内存的时间,而页面调入的先后并不能反映页面的使用情况。而最近最久未使用(LRU)的页面置换算法,,则是根据页面调入内存后的使用情况。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似。因此,LRU置换算法是选择最近最久未使用的页面予以淘汰。 2、LRU算法的