计算机操作系统第五章-虚拟存储器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章虚拟存储器

第一节虚拟存储器的基本概念

一、虚拟存储器的引入

在前面介绍的各种存储管理方式中,用户作业一旦被装入内存,就会一直驻留其中,直到进程运行结束(驻留性)。有些存储管理方式还存在一次性。因此,用户作业要最终运行完毕,系统必须给它提供不短于作业长度的存储空间。于是就出现了两种问题:

•长作业无法运行

•大量作业无法同时运行

程序运行的局部性原理:在一段时间内一个程序的执行往往呈现出高度的局部性。

前期讨论:P112-113;局部性还表现在两方面:

(1) 一条指令被执行,则不久以后该指令很可能再次执行;某个数据被访问,则不久以后该数据附近的数据很可能被访问。产生这类局部性的典型原因,是由于在程序中存在着大量的循环操作。

(2) 程序在一段时间内所访问的地址,可能集中在一定的范围之内。若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元很可能被使用。其典型情况便是程序的顺序执行、数组的处理等。

局部性原理是在存储分配时克服驻留性、实现虚拟存储的依据。

二、虚拟存储器的定义

定义:具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。其访问速度接近于内存,而其容量和每位的成

本却又接近于外存。

特性:虚拟存储器

连续性离散性

一次性多次性

驻留性交换性

虚拟性

对用户而言,它访问特性和内存一样;它以CPU时间和外存空间换取宝贵内存空间,是操作系统中的一种资源转换技术。

容量:

•一个虚拟存储器的最大容量是由计算机的地址结构确定的。如:若CPU的有效地址宽度为32位,则程序可以寻址范围是0~232-1 ,即虚存容量可达4GB。

•虚拟存储器的容量与主存的实际大小没有直接的关系,而是在主存与辅存的容量之和的范围内。

三、虚拟存储技术

基本原理:P115

把内存与外存有机地结合起来使用,从而得到一个容量很大的“内

存”。当进程开始运行时,先将它的一部分内容装入内存,另一部分暂时留在外存。在运行过程中,当要访问的指令/数据不在内存时,由OS 自动将内存中的一些内容调到外存,藤出空间,再将马上要访问的内容从外存调入内存。

目的:提高内存利用率;为大作业的运行提供可能。

实现方法:

•请求分页系统

•请求分段系统

第二节请求分页式存储管理方式

一、基本原理

对静态分页式存储管理进行改进:请求分页式存储管理在进程开始运行之前,不是将作业的全部页装入,而是装入开始的少数几页(甚至一页)入内存。之后根据进程运行的需要,利用请求调入技术,动态地装入后续页;当内存空间已满,而又需要装入新的页时,则又利用置换技术,根据某种算法淘汰一个页,以便藤出空间装入新的一页。

请求分页式存储管理需要解决下面三个问题:

•OS如何知道进程要访问的页面在不在内存中;

•当发现缺页时,如何把所缺页面调入内存;

•当内存中没有空闲块时,为了要接受一个新页,需要把老的一页淘汰出去,根据什么策略选择准备淘汰的页。

二、硬件的支持

1、改进页表的结构

•状态位(驻留位):表示该页目前是在内存还是在外存;

•访问字段:记录该页最近是否被访问过或被访问的次数;

•修改位:表示该页在本次读入内存后是否在内存中被改写过;•外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。

2、增加缺页中断机构:每当进程要访问的一个逻辑地址所属的页目前不在内存,就产生缺页中断,进行调页或换页处理。

•在地址变换过程中,在页表中发现所要访问的页不在内存,则产生缺页中断。操作系统接到此中断信号后,就调出缺页中断处理程序,根据页表中给出的外存地址,将该页调入内存,使作业继续运行下去(实现了请求调入);

•如果内存中有空闲块,则分配一块,将新调入页装入内存,并修改页表中相应页表项目的驻留位及相应的内存块号;

•若此时内存中没有空闲块,则要淘汰某页。若将被淘汰的页在内存期间被修改过,则要将其写回外存(实现了置换);

缺页中断的中断处理过程,见下图左。

3、修改后的地址变换流程,见下图右

P158

三、存储分配方法

1、存储分配方法的改进:

•在进程开始执行时,只将最开始和最常用的部分(如主程序、主菜单)按页装入内存。为整个进程建立页表,记录进程各页使用内存的情况。其他页在进程执行的过程中被动态地装入。

•当需要访问的页不在内存中时,系统产生并处理缺页中断。

•页表在页被调入、换出时要被改写,记录进程的各页对内存使用情况的变化。

2、物理块的分配策略和分配算法

•最小物理块数及其确定

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

它取决于指令的格式、功能和寻址方式。

•物理块的分配算法P138-140

•物理块的置换策略P135-137

四、调页策略

1、调页时机----确定何时调页

•预调入:一次调入一批预计即将访问的页。本方法主要用于进程的首次页调入。

•请求调入:缺页时调入,一次调入一页。

2、调页地址----确定从何处调入

•全部从对换区调入、调出;

•需要修改的部分从对换区调入、调出,其他部分从文件区调入;•初次调入,从文件区;调出放到交换区;再次调入,从交换区。3、调页过程----确定如何调页

调页过程即缺页中断处理程序的处理过程,如前面的框图。调页过程中,重要的一步是按照一定的页面置换算法淘汰内存中的一页,空出一块来存放新调入的页。

第三节页面置换算法

页面置换算法是“选择一页,换出内存”时选择哪一页的原则和方法。置换算法的好坏,直接影响存储管理的性能。

置换算法的理想方案,是将那些访问概率高的页面留在内存中,而将那些访问概率最低的页面换出内存。对换出页面的不同选择形成不同的置换算法。一个好的页面置换算法应该有较低的页面更换频率,

相关文档
最新文档