1.传统存储管理方式的特征
页式段式等各种内存管理策略是为了将多个进程保存在内存中以便允许多道程序设计,它们都具有以下两个共同的特征:
一次性:
作业必须一次性全部被装入内存后,方能开始运行。
(1)当作业很大时,将使该作业无法运行。
(2)当大量作业要求运行时,由于内存不足以容纳所有内存,只能使少数作业先运行,导致多道程序度的下降。
驻留性:
作业被装入内存后,就一直驻留在内存中,其任何部分都不会被换出,直至作业运行结束。
虚拟内存技术实际上就是建立了一个“内存-外存“的两级存储器的结构,利用局部性原理实现高速缓存。
虚拟存储器特征:
(1)多次性
是指无需在作业运行时一次性地全部装入内存,而是允许被分成多次掉入了内存运行。
(2)对换性
无需在作业运行时一直常驻内存,而是允许在作业的运行过程中,进行换进和换出。
(3)虚拟性
是指从逻辑上扩充内存的容量,使用户所看到的内存容量,远大于实际的内存容量。
虚拟内存中,允许将一个作业分多次调入内存,采用连续分配方式时,会使相当一部分内存空间都处于暂时或“永久”的空闲状态,造成内存资源的严重浪费,而且也无法从逻辑上扩大内存容量,因此,虚拟内存的实现需要建立在离散分配的内存管理方式的基础上。
虚拟内存的实现有以下三种方式:
1.请求分页存储管理
2.请求分段存储管理
3.请求段页式存储管理
请求分页系统建立在基本分页系统的基础上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种虚拟存储器方法。
请求分页系统
1.页表机制
在基本分页系统基础上增加了四个字段
页号|物理块号|状态位P|访问字段A|修改位M|外存地址
(1) 状态位P:用于指示该页是否已调入内存,供程