操作系统第六章—虚拟机存储器

  • Post author:
  • Post category:其他


第六章—虚拟机存储器

一、常规存储器管理方式的特征和局部性原理


1、特征

一次性:指作业一次性地全部装入内存后,程序才能开始运行。

驻留性:作业装入内存后,整个作业都一直驻留在内存中。


2、局部性

局部性规律:指程序的执行仅局限于某个部分,访问的存储空间也局限于某个区域。

时间局限性:指某条指令或数据被执行访问后,则不久以后该指令和数据可能会被再次访问。

空间局限性:一旦访问了某个存储单元后,不久之后其附近的存储单元也将会被访问,因为他们的空间地址可能在一起。


3、虚拟存储器的工作原理

基于局部性原理可知,在运行应用程序之前,没有必要将之全部装人内存,而仅须将那些当前要运行的少数页面或段先装人内存便可运行,其余部分暂留在盘 上。

程序在运行时,如果它所要访问的页(段)已被调入内存,则可继续执行下去;但如果程序所要访问的页(段)尚未被调人内存(称为缺页或缺段),则须发出缺页 (段)中断请求,此时OS将利用

清求调页(段)功能

,将它们调入内存,以使进程能继续执行下去。

如果此时内存已满,无法再装人新的页(段),则OS还须再利用

页(段)的置换功能

将内存中暂时不用的页(段)调至盘上,在腾出足够的内存空间后,再将要访问的页(段)调人内存,使程序继续执行下去。这样,便可使一个大的用户程序能在较小的内存空间中运行,也可在内存中同时装人更多的进程,使它们并发执行。


二、虚拟器的定义和特征


1、定义:

具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。


2、特征:

多次性:允许程序被分成多次调入内存运行,只需把当前要运行的那部分程序和数据装入内存即可运行。

对换性:指一个程序和数据无需在作业运行期间一直留在内存中,而是允许进行换入、换出。

虚拟性:能够从逻辑上扩大内存容量。


三、虚拟器的实现方法

(一)请求分页系统


1、虚拟器实现所需硬件

在分页系统基础之上,增加了

请求调页功能、页面置换功能。


工作原理:

允许用户程序只装入少数页面的程序即可启动运行,以后,再通过请求调页功能和页面置换功能,陆续地把即将运行的页面调入内存,同时把暂时不用的页面换出到外存上。


硬件支持:


请求分页的页表机制:

在页表的基础上增加了四个字段。

页号 物理块号 状态位P 访问字段A 修改为M 外存地址
表示该页是否被调入内存 记录被访问次数 表示调入内存后是否被修改 该页在外存中的地址


缺页中断机制:

要访问的页面尚且还没有被调入内存时,便产生缺页中断,并请求OS将缺页调入内存。

指令执行期间发现所要访问的指令或数据不在内存时,才产生缺页中断信号。


地址变换机构:



2、请求分页中的内存分配:

为一个进程分配内存时,需要确定3个问题:


最小物理块数:

指能保证进程正常运行所需的最小物理块数。


内存分配策略:

指给进程所分配的物理块数量是固定、还是以后是可变的。

置换的时候是从该进程所正在运行的页面中(局部)、还是从OS保留的空闲物理块中取一块用来进行置换(全局)。


3种分配置换方法:

固定分配局部置换、可变分配全局置换、可变分配局部置换


物理块分配算法:

平均分配算法、按比例分配算法、考虑优先权的分配算法。



3、页面调入策略


何时调入页面:

预调页策略:一次调入若干个页面,将那些预计在不久之后会被访问的页面预先调入内存中去,适合于第一次将进程调入内存时使用。

请求调页策略:一次只能调入一个页面


从何处调入页面:

外存分为两部分:存放文件的文件区、存放对换页面的对换区。

分为以下三种情况:

1、系统拥有足够的对换空间:这时进程可以从对换区调入全部所需的页面。注意:进程运行前,需要将与该进程有关的文件从文件区复制到对换区。

2、系统缺少足够的对换区空间:这时,凡是

不会被修改的文件

都直接从文件区调入,以后也直接从文件区调入。对于那些可能已被修改的部分,在将他们换出时,须调到对换区,以后也从对换区调入。

3、UNIX方式:凡是未运行过的页面都应该从文件区调入。



4、页面置换算法

5、内存有效访问时间


发生的所有操作过程有:

查找快表的时间、查找页表的时间、处理缺页中断的时间、更新快表的时间、访问实际物理地址时间

还有快表命中率、缺页率。

6、抖动


产生原因:

同时在系统中运行的进程太多,导致分配给每个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时会频繁地出现缺页,必须请求系统将所缺之页调入内存。造成每个进程的大部分时间都用于页面的换入、换出,而几乎不能再去做任何有效的工作。


解决办法:

抖动的发生与系统为进程分配物理块的数量有关。

工作集:指在某段时间间隔内中进程实际要访问页面的集合,即进程在某一时间间隔内所引用的所有页面的集合。

采取局部置换策略、把工作集算法融入处理机调度中、利用“L=S”准则调节缺页率、选择暂停的进程


(二)请求分段系统




版权声明:本文为weixin_45947938原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。