文章目录
虚拟内存基本概念
传统存储管理方式的特征、缺点
- 一次性 :
作业必须一次性全部装入内存才能运行
- 作业很大时, 无法全部装入内存,
导致大作业无法运行
- 当大量作业要求运行时, 由于内存无法容纳所有作业, 因此只有少量作业可以运行, 导致
并发度下降
- 作业很大时, 无法全部装入内存,
- 驻留性 : 一旦作业被装入内存, 就会
一直驻留在内存中
, 直至作业运行结束.- 事实上, 在一个时间段内, 只需要访问作业的
一小部分
就可以正常运行
,这就导致了内存中驻留了大量暂时用不到的数据, 浪费了宝贵的系统资源
- 事实上, 在一个时间段内, 只需要访问作业的
局部性原理
- 时间局部性原理 : 一个程序在执行过程中如果使用了某条指令, 不久将来还会再次使用这条指令. 如果访问了某个的数据, 不久将来还会访问该数据 (因为程序中存在大量循环)
- 空间局部性 : 一旦程序访问了某个存储单元后, 不久之后, 该存储单元附近的存储单元也可能被访问. (因为很多数据 和 指令在内存中是连续存储)
高速缓冲技术 : 将近期会频繁访问的数据放入更高速的存储器中, 暂时不用的数据放在更低速的存储器中
虚拟内存的定义和特征
-
基于局部性原理, 在程序装入时, 将程序中
很快会被使用到的部分先装入内存
,暂时不用的部分留在外存
, 就可以让程序运行起来 -
运行过程中, 当所需要的
信息不存在时
, 再让操作系统从外存中把相关信息调入内存
, 然后继续执行 -
如果内存空间不够,
操作系统
将内存中暂时用不到的数据调出到外存
-
在操作系统管理下, 用户看来似乎有一个比实际内存大得多的内存(
因为可以运行比实际内存大很多的作业
), 即虚拟内存
- 虚拟内存: 操作系统虚拟性的一个体现, 实际的物理内存没有改变, 在逻辑上进行了扩充
-
虚拟内存的最大容量是计算机的地址结构确定的(CPU寻址范围)
-
虚拟内存的实际容量 = min(内外存容量之和, CPU寻址范围)
- 特征
- 多次性(传统一次性) : 作业无需一次性全部装入内存, 而是可以分多次调入
- 对换性(传统驻留性) : 可以在作业运行过程中, 不用的作业数据, 需要