计算机操作系统第六章

上传人:ji****72 文档编号:51938811 上传时间:2018-08-17 格式:PPT 页数:309 大小:1.92MB
返回 下载 相关 举报
计算机操作系统第六章_第1页
第1页 / 共309页
计算机操作系统第六章_第2页
第2页 / 共309页
计算机操作系统第六章_第3页
第3页 / 共309页
计算机操作系统第六章_第4页
第4页 / 共309页
计算机操作系统第六章_第5页
第5页 / 共309页
点击查看更多>>
资源描述

《计算机操作系统第六章》由会员分享,可在线阅读,更多相关《计算机操作系统第六章(309页珍藏版)》请在金锄头文库上搜索。

1、*1各种存储器管理方式,都要求将一个作业一次性全部装入内存中才能运行,一旦装入内存,一直驻留在内存直到运行完毕,这就引发了两种情况:(1)长作业由于要求的内存空间超过了实际大小,不能被装入内存从而无法运行。 Date2(2)内存有限,致使大量的作业留在外存上等待。解决的方法:一种方法是从物理上增加内存容量;另一种方法是从逻辑上扩充内存容量,本章主要介绍的问题。Date36.1 虚拟存储器的基本概念6.2 请求分页存储管理方式6.3 页面置换算法6.4 请求分页系统的性能分析6.5 请求分段存储管理方式总结 作业练习 练习答案回到开始Date4同“实存”相对应的称为“虚拟存储”常简称“虚存”管理

2、技术。由英国曼彻斯特提出的,1961年该校在Atras计算机上实现了这一技术。70年代后,被广泛使用。现在许多大型的计算机均采用了虚拟存储管理技术,在微型计算机中,也广泛地使用虚拟存储管理技术,如采用分页技术的M68020,使用分段技术的有Intel 80286,分段加分页的Intel 80386,Z-8000等。Date56.1 虚拟存储器的基本概念6.1.1 虚拟存储器的引入 一、局部性原理 二、虚拟存储器的定义 6.1.2 虚拟存储器的实现方式 一、分页请求系统 二、请求分段系统 6.1.3 虚拟存储器的特征本章目录Date6各种存储管理方式中,一次性地装入内存的方法,对内存空间是一种巨

3、大的浪费,严重地降低了内存的利用率,减少了系统吞吐量。一次性及驻留性是否是程序运行所必须的呢?6.1.1 虚拟存储器的引入Date7一、局部性原理1968年P.Denning指出,程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅限于某个部分,它所对应的内存空间也局限于一段区域。他提出了几个论点:Date8(1)程序在执行时,除少数转移和过程调用指令外,大多数情况下是顺序执行的。(2)过程调用会使程序的执行流程由一部分内存区域转至另一部分区域。实际应用中,过程调用的深度一般不超过5,即程序在一段时间内,都局限在这些过程的范围内运行。Date9(3)程序中存在许多循环结构,多次执行

4、。(4)程序还包括许多对数据结构(数组)的处理,局限于很小的范围内。这又体现在:Date10(1)时间局限性。程序中的某条指令一旦执行,不久后该指令可能再次执行,某个数据结构被访问不久以后,该数据结构可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。Date11(2)空间局限性。一旦程序访问了某个存储单元,不久后,其附近的存储单元也被访问。即程序在一段时间内所访问的地址,可能集中在一定的范围内。典型原因是程序的顺序执行。Date12二、虚拟存储器的定义基于局部性原理,一个作业在运行前,仅将当前要运行的那部分页面或段,先装入内存即可启动运行。Date13其余部分暂时留在外存

5、上,程序在运行时如果所要访问的页或段已调入内存,则可继续运行,若尚未调入内存即缺页或缺段,程序利用OS提供的请求调页或段功能,将它们调入内存,使进程继续执行下去。Date14若内存已满,无法再装入新的页或段,再利用页或段的置换功能,将内存中暂时不用的页或段调出至外存上,腾出足够的内存空间后,再将要访问的页或段调入内存,使程序继续执行下去。Date15如此下去,可使一个大的用户程序在较小的内存空间中运行,也可使内存中同时装入更多的进程迸发执行。从用户角度看,该系统所具有的内存空间,比实际容量大得多,这样的存储器称为虚拟存储器。Date16所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的

6、存储器系统。具体说,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。( 所谓虚拟存储器是一个地址空间,是进程访问的逻辑地址空间,而不是物理的主存空间。)Date17用户所看到的大容量只是一种感觉,是虚的,其逻辑容量由内存和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本又接近于外存。可见,虚拟存储技术是一种性能非常优越的存储管理技术,被广泛应用于各类计算机系统中。Date186.1.2 虚拟存储器的实现方式是建立在离散分配存储管理方式的基础上,采用下述方式实现的:一、请求分页系统它是在纯分页(静态页面管理)系统的基础上,增加了请求调页功能、页面置换功能所

7、形成的页式虚拟存储系统。Date19只装入若干页,便可启动运行。随后,再通过调页功能及页面置换功能,陆续地把即将要运行的页面调入内存,同时把暂不运行的页面换出到外存上,置换时以页面为单位。要实现以上功能,系统应提供以下硬件支持:Date20(1)请求分页的页表机制。是在纯分页的页表机制上增加若干项而形成的,作为请求分页的数据结构。(2)缺页中断机构。每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断,以请求OS将所缺的页面调入内存。Date21(3)地址变换机构。是在纯分页的地址变换机构的基础上发展形成的。要实现请求调页还应得到OS的支持,在实现请求调页功能时,是由OS将所需的页从外存调

8、入内存,在实现置换功能时,也是由OS将内存的某些页调至外存。Date22二、请求分段系统是在分段系统的基础上,增加了请求调段及分段置换功能后,所形成的段式虚拟存储系统。它允许只装入若干段而非所有段的用户程序和数据,即可启动运行。以后再通过调段功能和段的置换功能,将暂不运行的段调出,同时调入即将运行的段,置换是以段为单位进行的。lllllDate23要实现请求分段,系统提供的硬件支持:(1)请求分段的段表机制。是在纯分段的段表机制基础上,增加若干项而形成的。(2)缺段中断机构。每当用户程序所要访问的段尚未调入内存时,产生一缺段中断,请求OS将所缺的段调入内存。Date24(3)地址变换机构。是在

9、纯分段的地址变换机构的基础上发展形成的,实现请求调段和置换功能也需得到OS的支持。目前,不少虚拟存储器是建立在段页式系统基础上的,通过分段系统的基础上增加请求调页和页面置换功能,形成了段页式虚拟存储器系统。Date256.1.3 虚拟存储器的特征最基本的特征是离散性,在此基础上又形成了多次性及对换性,其表现出来的最重要特征是虚拟性。Date261、离散性是指在内存分配时采用离散分配方式,是其它几个特征的基础。没有离散性,就不可能实现虚拟存储器。因为一个作业需分多次调入内存。Date27若采用连续分配方式时,需将作业装入一个连续的内存区域中,为此,需事先为它一次性地申请足够大的内存空间,以便将整

10、个作业先后分多次装入内存。Date28这样,一方面使一部分内存空间都处于暂时或永久空闲状态,造成内存资源的严重浪费。另一方面,不可能使一个大作业运行在一个小的内存空间中。Date29即无法实现虚拟存储器功能。只有采用离散分配方式,且仅在需要调入某部分程序和数据时,才为它申请内存空间,以避免浪费内存空间,也才有可能实现虚拟存储器功能。Date302、多次性是指一个作业被分成多次地调入内存运行,即在作业运行时没有必要将其全部装入,只须将当前要运行的那部分程序和数据装入内存即可,以后运行到哪一部分时再将它调入。Date31多次性是虚拟存储器最重要的特征,任何其它的存储管理方式,都不具有这一特征。所以

11、,虚拟存储器是具有多次性特征的存储器系统。Date323、对换性是指允许在作业的运行过程中换进、换出,即在进程运行期间,允许将那些暂不使用的程序和数据,从内存中调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换入),甚至还允许将暂时不运行的进程调至外存,待它们重又具备运行条件时再调入内存。换进、换出能有效地提高内存利用率。可见,虚拟存储器具有对换性特征。Date334、虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量,这是虚拟存储器所表现出来的最重要的特征,也是实现虚拟存储器的最重要目标。Date346.2 请求分页存储管理方式6.2.1 请求分页中的

12、硬件支持 一、页表机制 二、缺页中断机构 三、地址变换机构 6.2.2 页面分配 一、最小物理块数 二、页面分配和置换策略 三、分配算法 6.2.3 页面调入策略 一、何时调入页面 二、从何处调入页面 三、页面调入过程本章目录Date35请求分页存储管理方式是建立在纯分页基础上的,是目前常用的一种实现虚拟存储器的方式。它换进、换出的基本单位是固定长的页面。请求分段方式的换进、换出基本单位是段,其长度是可变的,其每段的分配方式是动态分区分配方式。Date366.2.1 请求分页中的硬件支持需要有页表机制、缺页中断机构及地址变换机构。一、页表机制:记录一个进程的页面状态信息Date37请求分页系统

13、中所需要的主要数据结构是页表。其基本作用是将用户地址空间中的逻辑地址变换为内存空间的物理地址。在页表中增加了若干项,供程序(数据)在换进、换出时参考。其页表项:页号物理块号状态位P访问字段 A修改位M外存地址Date38(1)状态位(存在位)P。用于指示该页是否已调入内存,供程序访问时参考。(2)访问字段A。用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考。Date39(3)修改位M。表示该页在调入内存后是否被修改过。由于内存中的每一页在外存上都保留了一份副本,所以,若未被修改,在置换该页时就不需将该页写回到外存上,若已被修改,则必须将该页重写

14、到外存上,保证外存上始终是最新副本。Date40(4)外存地址。用于指出该页在外存上的地址,一般是物理块号,供调入该页时使用。Date41二、缺页中断机构每当所要访问的页面不在内存时,系统便产生一缺页中断,请求OS将所缺之页调入内存。缺页中断,要经历保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、恢复CPU环境几个步骤。Date42与一般的中断的区别:(1)一般中断是在指令执行期间产生和处理缺页中断信号。一般CPU每执行完一条指令后便去检查是否有中断请求到达,有,则响应,否则,继续执行下一条指令。Date43缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存时产生和处理的。

15、(2)一条指令在执行期间,可能产生多次缺页中断。Date44三、地址变换机构:实现重定位请求分页系统中的地址变换机构,是在分页系统的地址变换机构的基础上,为实现虚拟存储器而增加了某些功能形成的。其过程如图示:P130Date45在进行地址变换时,首先检索快表,从中找出要访问的页。若找到,则修改页表项中的访问位。对于写指令,还要将修改位置为1,然后利用页表项中给出的物理块号和页内地址,形成物理地址。Date46若在快表中未找到该页的页表项,则到内存中去查找页表,再从找到的页表项中的状态位P,了解该页是否调入内存。两种情况: Date47(1)该页已调入内存,则将该页的页表项写入快表,若快表已满时

16、,应先调出按某种算法所确定的页的页表项,然后再写入该页的页表项。(2)该页尚未调入内存,则产生缺页中断,请求OS从外存中把该页调入内存。Date486.2.2 页面分配为进程分配物理块时,需解决三个问题:一,为保证进程能正常运行所需的最少物理块数 的确定。二,为每个进程分配的物理块,其数目是固定的 还是可变的。三,对不同的进程所分配的物理块数,是采取平 均分配算法还是根据进程的大小按比例予以分配。Date49一、最小物理数随着为每个进程所分配物理块数目的减少,会使进程执行中的缺页率提高,从而降低了进程的执行速度。为使进程有效地工作,应为它分配一定数目的物理块,能保证进程正常运行所需的最少物理块数。若少于此值时,进程将无法运行。Date50进程所需的最小物理块数取决于指令的格式、功能和寻址方式。若是单地址指令且采用直接寻址方式,最少物理块数为2,一块存放指令的页面,另一块存放数据的页面。若采用间接寻址,至少要求三个物理块。功能强的机器需要的最少物理数可能要大。Date51二、页面分配和置换策略两种分配策略:固定和可变分配策略两种置换策略:全局置换

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号