程序在执行的过程中,有些代码是较少用到(比如错误处理部分),而且有的程序需要较长时间的I/O处理,
从而导致了很多内存空间的浪费。为此引入了一种能够让作业部分装入就可以运行的存储管理技术,即虚拟
内存管理技术。
大多数程序执行时,在一个较短的时间内仅使用程序代码的一部分,相应地,程序锁访问的存储空间也局限于某个区域,
这就是程序执行的局部性原理。其表现如下。
时间局部性。一条指令的一次执行和下次执行,一个数据的一次访问和下次访问,都集中在一个较短的时期内。
空间局部性。当前指令和邻近的几条指令,当前访问的数据和邻近的数据,都集中在一个较小的时期内。
虚拟内存的定义及特征:
基于局部性原理,在程序装入时,一方面可以将程序的一部分放入内存,而将其余部分放入外存,然后启动程序(部分装入)。
在程序执行过程中,当所访问的信息不在内存中时,再由操作系统将所需的部分调入内存(请求调入)。另一方面,操作系统
将内存中暂时不使用的内存置换到外存上,从而腾出空间存放将要调入内存的信息(置换功能)。从效果上看,计算机系统好像为
用户提供了一个存储容量比实际内存大得多的存储器,这种从逻辑上扩充内存容量的存储器系统称为虚拟存储器(简称虚存)。