文档介绍:虚拟存储管理
虚拟存储管理的概念
问题:作业提交时,先全部进入辅助存储器,作业投入运行时,能否不把作业的全部信息同时装入主存储器,而是将其中当前使用部分先装入主存储器,其余暂时不用的部分先存放在作为主存扩充的辅助存储器中,待用到这些信息时,再由系统自动把它们装入到主存储器中,这就是虚拟存储器的基本思路。
解决“部分装入、部分对换”问题
那么当主存空间小于作业需要量时,这个作业也能执行;
多个作业存储总量超出主存总容量时,也可以把它们全部装入主存,实现多道程序运行。
允许用户的逻辑地址空间大于主存储器的绝对地址空间。对于用户来说,好象计算机系统具有一个容量很大的主存储器,我们把它称作为“虚拟存储器”(virtual memory)。
虚拟存储器的定义如下:
具有部分装入和部分对换功能,能从逻辑上对内存容量进行大幅度扩充,使用方便的一种存储器系统。
作业信息不全部装入主存的情况下能否保证作业的正确运行?
回答是肯定的,,
指程序在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域中。又可细分时间局部性和空间局部性。
1)程序中大部分是顺序执行的指令,仅用少量转移和过程调用
2)过程调用时,执行程序范围不超过这组过程
3)程序含有较多循环结构,它们由少量指令组成,却被多次执行
4) 程序含有较多数据结构操作,如动态数组,往往局限在较小存储区域
5)程序中有些部分是彼此互斥的,不是每次运行时都用到的
实现虚拟存储器
必须解决好以下有关问题:主存辅存统一管理问题、逻辑地址到物理地址的转换问题、
部分装入和部分对换问题。
虚拟存储管理主要采用以下几种技术实现
请求分页式
请求分段式
段页式虚拟存储管理
  分页式虚拟存储系统的基本原理
分页式虚拟存储系统是将作业信息的副本存放在磁盘这一类辅助存储器中,当作业被调度投入运行时,并不把作业的程序和数据全部装入主存,而仅仅装入立即使用的那些页面,在执行过程中访问到不在主存的页面时,再把它们动态地装入
请页式(demand Paging)
当需要执行某条指令或使用某个数据,而发现它们并不在主存时,产生一个缺页中断,系统从辅存中把该指令或数据所在的页面调入内存。