在各种存储管理方式中,必须为作业分配足够的存储空间,以装入有关作业的全部信心,作业的大小不能超出内存的可用空间,否则,这个作业是无法运行的。
但当有关作业的全部信息都装入内存后,作业执行时实际上不是同时使用全部信息的,有些部分运行一遍便不再使用,甚至有些部分在作业执行的整个过程中都不会被使用(例如,错误处理部分等。)这种情况的出现,是对宝贵的内存资源的一种浪费,大大降低了内存的利用率。
虚拟存储管理的提出就是为了解决这一问题应用程序在运行之前并不必全部装入内存,仅需将当前运行到的那部分程序和数据装入内存便可启动程序的运行,其余部分仍驻留在外存上。当要执行的执行或访问的数据不再内存时,再由操作系统通过请求调入功能将它们调入内存,以使程序能继续执行。
如果此时内存已满,则还需通过置换功能,将内存中展示不用的程序或数据调至外存上,腾出足够的内存空间后,再将要访问的的程序或数据调入内存,使程序继续执行。这样,便可使一个大的用户程序能在较小的内存空间中运行,也可在内存中同时装入更多的进程使它们并发执行。
从用户的角度看,该系统具有的内存容量比实际的内存容量大很多。将这种具有请求调入功能和置换功能从逻辑上对内存容量加以扩充的存储器系统称为虚拟存储系统。