虚拟存储器
1 虚拟存储器概述
1.1 常规存储管理方式的特征
(1)常规存储管理方式的特征
① 一次性:作业在运行前需一次性地全部装入内存
② 驻留性:作业装入内存后,便一直驻留内存,直至作业运行结束
(2)常规存储器的问题
① 有的作业很大,所需内存空间大于内存总容量,使作业无法运行
② 有大量作业要求运行,但内存容量不足以容纳下所有作业,只能让一部分先运行,其它在外存等待
- 虚拟存储器能解决的问题:增加内存容量。从逻辑上扩充内存容量----虚拟存储器
1.2 局部性原理
(1)局部性原理
程序运行时存在的局部性现象,指程序在执行时呈现出局部性规律,即在一较短时间内,程序的执行仅限于某个部分,相应地,它所访问的存储空间也局限于某个区域。
① 程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下是顺序执行
② 过程调用将会使程序的执行轨迹由一部分区域转移至另一部分区域,但调用深度大多数情况不超过5
③ 程序中存在许多循环结构,由少数指令构成,但是被多次执行
④ 对许多数据结构的处理,往往都局限于很小的范围内
(2)局限性表现—两个方面
① 时间局部性:由于大量的循环操作,某指令或数据被访问后,则不久可能会被再次访问。
② 空间局部性:如顺序执行,指程序在一段时间内访问的地址,可能集中在一定的范围之内
1.3 虚拟存储器的定义和特征
(1)虚拟存储器的定义
- 虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储管理系统
- 它具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充
- 其逻辑容量由外存容量和内存容量之和决定,其运行速度接近于内存,成本接近于外存
(2)虚拟存储器的特征
虚拟性以多次性和对换性为基础,而多次性和对换性又是离散分配为基础
① 多次性—最基本的特征:多次性是虚拟存储器最重要的特征,是指一个作业中的程序和数据无需在作业运行时一次性地全部装入内存,而是允许被分成多次调入内存运行。
② 对换性:是指一个作业中的程序和数据,无须在作业运行时一直常驻内存,而是允许在作业运行过程中进行换进、换出。可以提高内存利用率。
③ 虚拟性—最本质的特征:虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。虚拟性是虚拟存储器所表现出来的最重要的特征,也是实现虚拟存储器最重要的目标
1.4 虚拟存储器的实现方法
虚拟存储器的实现都建立在离散分配内存的管理方式
(1)分页请求系统
在分页系统的基础上增加了请求页面功能和页面置换功能。置换以页面为单位。需要硬件和软件的支持
硬件:① 请求分页的页表机制 ② 缺页中断机构 ③ 地址变换机构
软件:① 请求调页的软件 ② 页面置换的软件
(2)请求分段系统
在分段系统的基础上增加了调段及分段置换功能。置换以段为单位。需要硬件和软件的支持
硬件:① 请求分段的段表机制 ② 缺段中断机构 ③ 地址变换机构
软件:① 请求调段的软件 ② 实现段置换的软件
分页请求系统 | 分段请求系统 | |
---|---|---|
基本单位 | 页 | 段 |
长度 | 固定 | 不固定 |
分配方式 | 固定分配 | 动态分配 |
复杂性 | 简单 | 复杂 |
2 请求分页存储管理方式
为了实现请求分页,系统必须提供一定的硬件支持。计算机系统除了要求一定容量的内存和外存外,还需要有请求页表机制、缺页中断机构以及地址变换机构
2.1 请求分页中的硬件支持
(1)请求页表机制
在请求分页系统中需要的主