第五章 虚拟存储器介绍
说明:虚拟存储技术实现了内存扩充的功能,从逻辑上实现对内存容量的扩充。
一.传统存储管理方式的特征和局部性原理
1.1特征
1.一次性:指作业必须一次性地全部装入内存后方能运行。
2.驻留性:指作业被装入内存。
1.2局部性原理
定义:在较短的时间内程序的执行仅限于某个部分。
表现:时间局限性和空间局限性。
1.3虚拟存储器的定义和特征
虚拟存储器的定义:具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
特征:
1. 多次性:一个作业中的程序可以不用一次性的装入内存,允许被多次装入内存。
2. 对换性:允许作业在运行过程中可以进行换入和换出。
3. 虚拟性: 虚拟性指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。
4. 虚拟性以多次性和对换性为基础。
1.4缺页中断
程序运行所要访问的页面不在内存中,产生缺页中断。与一般中断的区别是:
1. 在指令执行期间产生和处理中断信号。
2. 一条指令在执行期间可能产生多次缺页中断。
1.5缺页率的计算
缺页率的概念:假设一个进程的逻辑空间为n页,系统为之分配的内存物理块数为m(m<=n),在进程的运行过程中,访问页面成功(所访问的页面再内存中)的次数为S,访问失败的次数是F,该进程总的访问次数为A = S + F; 该进程在运行过程中的缺页率为:
F =F / A;
1.6影响缺页率的因素
1.页面大小:划分越大,缺页率越低。
2.进程所分配的物理块的数目,数目越多,缺页率越低。
3.页面置换算法,缺页率是衡量页面置换算法的重要指标。
4.程序固有特性。与程序的编制方法有关。
二、页面置换算法
1、最佳置换算法和先进先出置换算法
最佳置换算法(OPT:一种理论上的算法)
说明:所选择的被淘汰页面将是以后永不使用的,或者在最长时间内不再访问的页面。
采用该算法可以保证获得最低的缺页率。但是该算法是无法预知哪一个页面是未来时间内不再被访问的,该算法无法实现,但是可以利用该算法去评价其他算法。
2、 先进先出算法(FIFO)
说明:总是淘汰最先进入内存的页面,选择在内存中驻留时间最久的页面进行淘汰。
3、 最近最久未使用算法(LRU)
说明:
该算法选择最近最久未使用的页面进行淘汰,是根据页面调入内存做出决策的。该算法要求硬件进行支持:寄存器和栈。
4、 最少使用置换算法(LFU)
为在内存中的每个页面设置一个移位寄存器,用来记录该页面被访问的频率。选择在最近时期使用最少的页面作为淘汰页。
5、 页面缓冲算法(PBA)
说明:页面换进换出所付出的开销将对系统的性能产生重大影响。
影响页面换进换出的因素:
1.页面置换算法
2.写回磁盘的频率
3.将磁盘内容读入内存的频率。
特点
1. 显著降低页面换进换出的频率。
2. 可以采用一种简单的页面置换算法。
三、抖动与工作集的概念
说明:抖动与工作集属于虚拟机
抖动的原因:内存中进程的大多数时候都在进行换页操作,导致处理机的利用率下降到0,称此时的进程是处于”抖动状态“的。
工作集:在某段时间间隔A里,进程实际所要访问页面的集合。
进程发生缺页率的时间间隔与进程所获得的物理块数有关。