虚拟存储器的基本概念
前面所介绍的存储器都要求将一个作业全部装入内存之后才能运行,有的时候作业内存过大不能全部装入内存会导致作业无法运行,因此需要在逻辑上扩充内存容量
虚拟存储器的引入
常规存储管理方式的特征:
(1)一次性:将进程的所有的数据全部装进内存,不管运行后时有没有用到,造成很大内存浪费。
(2)驻留性:作业装入内存之后,便一直驻留在内存中。
局部性原理:
程序在执行的时候将呈现局部性规律
(1)大多情况顺序执行
(2)程序在一段时间内局限在某些过程内
(3)程序中存在许多循环结构
(4)程序中对数据结构的处理局限在很好的范围内
还有时间局限性和空间局限性
虚拟存储器的实现都是建立在离散分配的存储管理方式的基础上的,为此所有的虚拟存储都是采用下述方式之一实现的:
(1)分页请求系统
在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页面虚拟存储系统。因此系统必须提供必要的硬件支持和软件支持
硬件支持:请求分页的页表机制,缺页中断机制,地址变换机制。
软件支持:包括用于实现请求调页的软件和实现页面置换的软件。
(2)请求分段系统
在纯分段的段表机制基础上增加了若干项而形成的。其也需要缺段中断机构和和地址变换机构。
虚拟存储器的特征:
虚拟存储器具有多次性、对换性和虚拟性三大主要特征:
(1)多次性:指一个作业可以被分多次调入内存。
(2)对换性:允许作业在运行时进行换进、换出。即将那些不需要的数据和程序调出,将需要的调入内存。
(3)虚拟性: 从逻辑上扩充内存,使用户看到的内存容量远大于实际内存。