欢迎来到天天文库
浏览记录
ID:22040259
大小:363.50 KB
页数:41页
时间:2018-10-22
《操作系统第4.6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.6虚拟存储器1虚拟存储器概述2请求分页存储管理方式3页面置换算法4“抖动”与工作集5请求分段存储管理方式4.6虚拟存储器1虚拟存储器概述1.1常规存储管理方式的特征和局部性原理1.常规存储器管理方式的特征★一次性,是指作业必须一次性地全部装入内存后,方能开始运行。这一特征导致了下述两种情况的发生:①当作业很大时,它所要求的内存空间超过了内存总容量,无法将全部作业装入内存,致使该作业无法运行;②当有大量作业要求运行的情况下,由于每一个作业都需要全部装入内存后方能运行,所以每次只能装入少量的作业,导致多道程序度的下降。★驻留性,是指作业被装入内存后,整个作业都一直驻留在内存中,其中
2、任何部分都不会被换出,直至作业运行结束。2.局部性原理★程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下是顺序执行的。★过程调用将会使程序的执行轨迹,由一部分区域转至另一部分区域。即程序将会在一段时间内,都局限在这些过程的范围内运行。★程序中存在许多循环结构,这些虽然只由少数指令构成,但是它们将多次执行。★程序中还包括许多对数据结构的处理,如对数组进行操作,它们往往都局限于很小的范围内。局限性又表现在下述两个方面:★时间局限性:如果程序中的某条指令一旦执行,则不久以后该指令可能再次执行;如果某数据被访问过,则不久以后该数据可能再次被访问。★空间局限性:一旦程序访问了某个
3、存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内。1.1常规存储管理方式的特征和局部性原理3.虚拟存储器的基本工作情况应用程序在运行之前,仅须将那些当前要运行的少数页面或段,先装入内存便可运行,其余部分暂留在盘上。程序在运行时,如果它所要访问的页(段)已调入内存,便可继续执行下去;但如果程序所要访问的页(段)尚未调入内存(称为缺页或缺段),便发出缺页(段)中断请求,此时OS将利用请求调页(段)功能,将它们调入内存,以使进程能继续执行下去。如果此时内存已满,无法再装入新的页(段),OS还须再利用页(段)的置换功能,将内存中暂时
4、不用的页(段)调至盘上,腾出足够的内存空间后,再将要访问的页(段)调入内存,使程序继续执行下去。1.1常规存储管理方式的特征和局部性原理1.2虚拟存储器的定义和特征1.虚拟存储器的定义具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。虚拟存储技术是一种性能非常优越的存储器管理技术,故被广泛地应用于大、中、小型机器和微型机中。1.2虚拟存储器的定义和特征2.虚拟存储器的特征★多次性★对换性★虚拟性虚拟性是以多次性和对换性为基础的,或者说,仅当系统允许将作业分多次调入
5、内存,并能将内存中暂时不运行的程序和数据换至盘上时,才有可能实现虚拟存储器;而多次性和对换性,显然又必须建立在离散分配的基础上。1.分页请求系统在分页系统的基础上,增加了请求调页功能和页面置换功能,所形成的页式虚拟存储系统。置换时以页面为单位。(1)硬件支持:请求分页的页表机制、缺页中断机构、地址变换机构。(2)实现请求分页的软件:实现请求调页的软件和实现页面置换的软件。2.请求分段系统在分段系统的基础上,增加了请求调段及分段置换功能后,所形成的段式虚拟存储系统。置换是以段为单位进行的。为了实现请求分段,系统同样需要必要的硬件和软件支持。(1)硬件支持:请求分段的段表机制、缺段中断
6、机构、地址变换机构。(2)实现请求分段的软件:实现请求调段的软件和实现段置换的软件。1.3虚拟存储器的实现方法返回4.6虚拟存储器2请求分页存储管理方式2.1请求分页中的硬件支持1.请求页表机制2.缺页中断机构3.地址变换机构2.2请求分页中的内存分配2.3页面调入策略2.1请求分页中的硬件支持1.请求页表机制页号物理块号状态位P访问字段A修改位M外存地址⑴状态位(存在位)P:仅有一位,故又称位字,用于指示该页是否已调入内存,供程序访问时参考。⑵访问字段A:记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问,提供给置换算法(程序)选择换出页面时参考。⑶修改位M:标
7、识该页在调入内存后是否被修改过。供置换页面时参考。⑷外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。2.1请求分页中的硬件支持2.缺页中断机构缺页中断作为中断,同样需要经历诸如保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理,以及在中断处理完成后再恢复CPU环境等几个步骤。缺页中断又是一种特殊的中断,它与一般的中断相比,有着明显的区别:⑴在指令执行期间,产生和处理中断信号。⑵一条指令在执行期间,可能产生多次缺页中断。2.1请求分页中的
此文档下载收益归作者所有