虚拟内存的存储概念

1.传统存储管理方式的特征、缺点

1.一次性:作业数据必须一次全部调入内存
2.驻留性:作业数据在整个运行期间都会常驻内存
在传统的存储管理方式连续分配(单一连续分配、固定分区分配、动态分区分配)和非连续分配(基本分页式存储管理、基本分段式管理和基本段页式存储管理)中,都是

一是

一次性装入:作业必须一次性全部装入内存后才能开始运行。

这就造成了两个问题:
1.作业很大时,不能全部装入内存,导致大作业无法运行
2.当大量作业要求运行时,。由于内存无法容纳所有作业,因此只能有少量作业能运行,导致多道程序并发度下降。

二是

驻留性:一旦作业被装入内存中,就会一直驻留在内存中,直至作业运行结束。事实上,在一个时间段内,只需要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数据,浪费了宝贵的内存资源。

2.局部性原理

1.时间局部性:现在访问的指令、数据在不久之后很可能在不久之后会被访问
(因为程序中存在大量的循环)
2.空间局部性:现在访问的内存单元周围的内存空间,很可能在不久后会被访问
(因为很多数据在内存中都是连续的,并且程序的指令也是顺序地在内存中存放的)
3.高速缓存技术:使用频繁的数据放到更高速的存储器中
虚拟内存的存储概念_存储管理

如何应用局部性原理呢?

高速缓冲技术的思想:
将近期会频繁访问到的数据放到更高的存储器中,暂时用不到的数据放在更低速存储器中。

虚拟内存的存储概念_数据_02

3.虚拟内存的定义和特征

1.程序不需全部装入即可运行,运行时根据需要动态调入数据,若内存不够,还需换出一些数据
2.特征:

  1. 多次性:无需在作业运行时一次性全部装入内存,而是允许被分成多次调入内存
  2. 对换性:无需在作业运行时一直常驻内存,而是允许在作业运行过程中,将作业换入换出
  3. 虚拟性:从逻辑上扩充了内存的容量,使客户看到的内存容量,这远大于实际的容量

1 虚拟内存
一 基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行

二 在执行过程中,当所访问的信息不在内存中时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。

三 若内存空间不够时,由操作系统负责将内存中暂时用不到的信息换出到外存

四 在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是 虚拟内存。

2 虚拟内存的三个主要特征:

  1. 多次性:无需在作业运行时一次性全部装入内存,而是允许被分成多次调入内存
  2. 对换性:无需在作业运行时一直常驻内存,而是允许在作业运行过程中,将作业换入换出
  3. 虚拟性:从逻辑上扩充了内存的容量,使客户看到的内存容量,这远大于实际的容量

易混淆的知识点:
1.虚拟内存的最大容量是由计算机的地址结构(CPU地址范围 )确定的
2.虚拟内存的实际容量=min(内存和外存容量之和,CPU寻址范围)
虚拟内存的存储概念_存储管理_03
虚拟内存的存储概念_虚拟内存_04

4.如何实现虚拟内存技术

1.访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存(请求调页功能)
2.内存空间不够时,将内存中暂时用不到的信息换出外存(页面置换功能)
3.虚拟内存的实现

  1. 请求分页存储管理
  2. 请求分段存储管理
  3. 请求段页式存储管理

虚拟内存技术,允许一个作业分多次调入内存。如果采用连续分配方式,会不方便实现。因此,虚拟内存技术的实现需要建立在离散分配的内存管理方式基础上。

传统的离散分配存储管理方式主要有三种:
1.基本分页存储管理
2.基本分段存储管理
3.基本段页式存储管理

虚拟内存的实现就是可以基于上述三种离散分配管理方式:
1.基于基本分页存储管理的请求分页存储管理
2.基于基本分段存储管理的请求分段存储管理
3.基于基本段页式存储管理的请求段页式存储管理

两种存储管理方式的主要区别:

1.请求调页(段)功能

1.在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序

2.页面(段)的置换功能

2.若内存空间不够,由操作系统负责将内存中暂时不用到的信息换出内存.