传统存储管理的特点和缺点
-
传统内存的两大特性
- 一次性:作业必须一次性全部装入内存后才能开始运行
- 当有大作业的时候,就装不进去
- 有很多作业,不能同时装入内存,也会降低并发度
- 驻留性:一旦作业被装入了内存,就会一直驻留再内存中
- 事实上,再一个时间段内,只需要访问作业的一小部分数据即可正常执行,这样就会导致浪费内存资源
- 一次性:作业必须一次性全部装入内存后才能开始运行
局部性原理
- 应用比如高速缓存原理和我们的快表机制都是利用了我们的局部性原理
虚拟内存的定义和特征
- 居于局部性原理,我们将作业装入内存的时候,可以将程序中将会用到的部分装入内存,暂时用不到的部分留在外存
- 我们当需要的信息不在内存的时候,需要操作系统将所需的信息从外存调入内存
- 当我们的内存空间不够的时候,需要将操作系统负责将内存中暂时用不到的信息换出外存
- 根据局部性的原理,我们内存的实际物理内存并没有变大,指数在逻辑上进行了扩充
- 比如我们内存只有4G,但是我们运行的游戏却要50G,但是在我们50G的游戏能在4G的内存运行,我们在逻辑上就认为我们的内存是50G以上
- 虚拟内存的主要特征
- 多次性:无需再内存的运行的时候一次性全部装入内存,而是允许被分成多次调入内存
- 对换性:再作业运行的时候无需一直常驻内存,而是允许在作业运行过程中,将作业的部分换入换出
- 虚拟性:从逻辑上扩充了内存的容量,使用户看到的内存容量,远大于实际的容量
如何实现虚拟内存技术
- 根据我们虚拟内存的特征我们使用的内存管理方式必须是非连续的分配内存存储管理才行,但是传统的管理方式无法满足,所以需要操作系统新增请求调页(请求调段),和页面置换(段置换)的功能