操作系统5_虚拟存储器
文章目录
1. 虚拟存储器
1.1 虚拟存储器的引入
- 常规存储管理
- 特征
- 一次性:作业在运行前必须一次性地全部装入内存后方能运行
- 驻留性:作业装入内存后,便一直驻留在内存中,直到作业运行结束。
- 存在的问题
- 内存空间利用率不高:使许多在程序运行中不用或暂时不用的程序或数据占据大量的内存空间,使得一些需要运行的作业无法装入运行
- 大程序无法装入:若一个程序所要求的内存空间超过了内存实际容量,则该程序必定无法装入内存运行
- 特征
- 解决办法
- 从物理上增加内存容量:这种方法会增加系统成本,会受到一定限制
- 从逻辑上扩充内存容量:这正是虚拟存储技术所要解决的主要问题
- 局部性
- 原理:早在1968年,Denning.P就曾指出:
- 程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下仍是顺序执行的
- 过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域,但经研究看出,过程调用的深度在大多数情况下都不超过5
- 程序中存在许多循环结构,这些虽然只由少数指令构成,但是它们将多次执行
- 程序中还包括许多对数据结构的处理,如对数组进行操作,它们往往都局限于很小的范围内
- 表现
- 时间局限性:如果程序中的某条指令一旦执行,则不久以后该指令可能再次执行;如果某数据被访问过,则不久以后该数据可能再次被访问。产生时间局限性的典型原因,是由于在程序中存在着大量的循环操作
- 空间局限性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,其典型情况便是程序的顺序执行
- 原理:早在1968年,Denning.P就曾指出:
1.2 虚拟存储器的概念
虚拟存储器,是指具有请求调入功能和置换功能、能从逻辑上对内存容量加以扩充的一种存储器系统
其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存
虚拟存储技术是一种性能非常优越的存储器管理技术,故被广泛地应用于大、中、小型机器和微型机中
1.3 虚拟存储器的特征
-
多次性
与常规存储管理的“一次性”相反,虚拟存储器将一个作业分成多次调入内存;
多次性是虚拟存储器最重要的特征
-
对换性
与常规存储管理的“驻留性”相反,在作业运行期间,虚拟存储器允许将那些暂时不用的程序或数据从内存调至对换区,待以后需要时再调入内存,从而能有效地提高内存利用率
-
虚拟性
虚拟存储器对内存的扩充是逻辑上的,用户所看到的大容量只是一种感觉,并不实际存在,因此是虚拟的
虚拟性是实现虚拟存储器的目标
1.4 虚拟存储器的实现方法
- 实现方式:请求分页、请求分段
- 增加硬件:请求分页的页表和请求分段的段表、缺页中断机构和缺断中断机构、地址变换机构
- 增加软件:实现请求分页和分段的软件
2. 请求分页存储管理
在基本分页管理的基础上增加请求调页和页面置换功能,便形成了能支持虚拟存储器功能的请求分页系统
由于每次调入和换出的基本单位都是固定长度的页,因而比请求分段系统更简单
原理:其地址空间和内存空间的管理采用与基本分页系统相同的方式,但它只要求将作业的部分页面装入内存,便可开始运行作业,作业的其余部分被存放在硬盘中
2.1 请求分页中的硬件支持
-
页表机制