操作系统基础知识整理

14 虚拟内存概述

2017-06-08  本文已影响39人  saviochen

传统存储管理方式的特征

常规存储管理方式具有以下共同的特征:

1) 一次性

作业必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生:

由于内存成本很高,针对以上问题,较为有效的解决方案是从逻辑上扩充内存容量,也就是虚拟存储技术需要解决的问题。

2) 驻留性

许多在程序运行中不用或暂时不用的程序(数据)占据了大量的内存空间,而一些需要运行的作业又无法装入运行,显然浪费了宝贵的内存资源。

局部性原理

要真正理解虚拟内存技术的思想,首先必须了解计算机中著名的局部性原理。髙速缓存技术极大地影响了计算机系统的设计。

局部性原理表现在以下两个方面:

1) 时间局部性

如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;如果某数据被访问过,不久以后该数据可能再次被访问。产生时间局部性的典型原因,是由于在程序中存在着大量的循环操作。

2) 空间局部性

一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,这是因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的。

时间局部性是通过将近来使用的指令和数据保存到高速缓存存储器中,并使用高速缓存的层次结构实现。空间局部性通常是使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现。虚拟内存技术实际上就是建立了 “内存一外存”的两级存储器的结构,利用局部性原理实现髙速缓存。

虚拟存储器的定义和特征

基于局部性原理,在程序装入时,可将程序的一部分装入内存,而将其余部分留在外存,即可启动程序执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统将所需要的部分调入内存,然后继续执行程序。

另一方面,操作系统将内存中暂时不使用的内容换出到外存上,从而腾出空间存放将要调入内存的信息。这样,系统好像为用户提供了一个比实际内存大得多的存储器,称为虚拟存储器。

之所以将其称为虚拟存储器,是因为这种存储器实际上并不存在,只是由于系统提供了部分装入、请求调入和置换功能后(对用户完全透明),给用户的感觉是好像存在一个比实际物理内存大得多的存储器。虚拟存储器的最大容量为:min(内存+外存,2^n) 。n为计算机的地址总线位数。

虚拟存储器有以下三个主要特征:

虚拟内存技术的实现

虚拟内存中,允许将一个作业分多次调入内存。釆用连续分配方式时,会使相当一部分内存空间都处于暂时或“永久”的空闲状态,造成内存资源的严重浪费,而且也无法从逻辑上扩大内存容量。因此,虚拟内存的实需要建立在离散分配的内存管理方式的基础上。虚拟内存的实现有以下三种方式:

不管哪种方式,都需要有一定的硬件支持。一般需要的支持有以下几个方面:

上一篇 下一篇

猜你喜欢

热点阅读