基本信息
文件名称:操作系统原理与实践教程(第四版) 课件汇总 史苇杭 第6--10章 虚拟存储器 ---嵌入式操作系统.ppt
文件大小:4.06 MB
总页数:347 页
更新时间:2025-03-14
总字数:约10.9万字
文档摘要

第6章虚拟存储器

6.1虚拟存储器引入

6.2虚拟存储器的实现方法

6.3虚拟存储器的特征

6.4请求分页存储管理技术

6.5页面置换算法

6.6“抖动”与工作集

6.7请求分段存储管理方式

第5章虚拟存储器

6.1虚拟存储器引入

n前面所介绍的几种存储管理方式有一个共同的特

点,都要求将一个作业全部装入内存之后才能运

行,于是,就可能出现以下两种情况:

?(1)有的作业很大,其要求的内存空间超过了内存

总容量,从而导致作业不能全部被装入内存,致使

该作业无法运行。

?(2)有多个作业要求运行,其要求的内存空间超过

了可用的内存空间,只能将少数作业装入内存让它

们先运行,而将其它作业留在外存等待。

6.1虚拟存储器的引入

n1.传统存储管理方式的特征

?(1)一次性。前面介绍的几种存储管理方式有一个共同的特

点,都要求将作业全部装入内存之后才能运行,即作业在运

行前需要一次性地全部装入内存,正是这一特征导致了上述

两种情况的发生。另外,许多作业在每次运行时,并非要用

到全部程序和数据,因此一次性地装入全部程序和数据,对

内存空间是一种极大的浪费。

?(2)驻留性。作业装入内存直到运行结束,便一直驻留在内

存中。尽管进程在运行中会因I/O等原因而长期处于阻塞状

态,或有的程序模块在运行过一次后就不再需要,但它们都

仍将继续占用宝贵的内存资源。

6.1虚拟存储器的引入

n2.局部性原理

?早在1968年,Denning.P就曾指出:程序的执行表现出局部性特征,

即程序在执行过程中的一个时间段内,程序的执行仅局限于某个

部分。相应地,它所执行的指令地址或操作数地址也局限于一定

的存储区域中。

l(1)程序执行时,只有少量分支转移和过程被调用,在大部分情况下仍

是顺序执行的指令。

l(2)程序中包含许多循环结构,由相对较少的指令组成,但是它们将多

次执行。在循环过程中,计算被限制在程序中很小的相邻部分中。

l(3)程序中过程调用的深度限制在小范围内,很少出现连续的过程调用,

大多数情况下都不超过5。一段时间内,指令引用被局限在很少几个过

程中。

l(4)对于连续访问数组之类的数据结构,往往是对存储区域中相邻位置

的数据进行操作。

l(5)程序中有些部分是彼此互斥的,不是每次运行时都用到,如出错处

理程序。

6.1虚拟存储器的引入

n2.局部性原理

n局限性还表现在下述两个方面;

?(1)时间局部性。如果程序中的某条指令正在执行,

则不久后,该指令可能会再次执行。同样,如果某

数据被访问过,则不久后,该数据可能会被再次访

问。时间局部性的产生原因是由于在程序中存在着

大量的循环操作。

?(2)空间局部性。程序在运行过程中,一旦访问了

某个内存单元,则在不久后,其邻近的存储单元也

将可能被访问,即程序在一段时间内所访问的内存

地址,可能集中在一定的范围之内。空间局部性的

产生原因是由于程序的顺序执行。

6.1虚拟存储器的引入

n3.虚拟存储器的概念

?虚拟存储器是指在具有层次结构存储器的计算机系统中,具

有请求调入和交换功能,为用户提供一个比实际物理内存容

量大得多的可寻址的一种存储器系统,它能从逻辑上对内存

容量进行扩充。其逻辑容量由内存容量和外存容量之和决定,

其运行速度接近于内存速度,而每位的成本却又接近于外存。

?虚拟存储器的容量主要受到两方面的限制:

l(1)指令中表示地址的字长。一个虚拟存储器的最大容量是

由计算机的地址结构确定的。如:若CPU的有效地址长度为

32位,则程序可以寻址的范围就是0~232-1,即虚存容量为

4GB。

l(2)外存的容量。虚拟存储器的容量与主存的实际大小没有

直接关系,而是由主存与辅存的容量之和确定。虚拟存储技

术是一种性能非常优越的存储器管理技术,已被广泛应用于

大、中、小型机器和微