资源预览内容
第1页 / 共295页
第2页 / 共295页
第3页 / 共295页
第4页 / 共295页
第5页 / 共295页
第6页 / 共295页
第7页 / 共295页
第8页 / 共295页
第9页 / 共295页
第10页 / 共295页
亲,该文档总共295页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章第六章 虚拟存储器虚拟存储器Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 各种存储器管理方式,都要求将一个各种存储器管理方式,都要求将一个作业一次性全部装入内存中才能运行,一旦作业一次性全部装入内存中才能运行,一旦装入内存,一直驻留在内存直到运行完毕,装入内存,一直驻留在内存直到运行完毕,这就引发了两种情况:这就引发了两种情况:(1)长作业由于要求的内存空间超过)长作业由于要求的内存空间超过了内存实际大小,不能被装入内存从而无法了内存实际大小,不能被装入内存从而无法运行。运行。第六章第六章 虚拟存储器虚拟存储器Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2)内存有限,致使大量的作业留在外)内存有限,致使大量的作业留在外存上等待。存上等待。解决的方法:解决的方法: 一种方法是从物理上增加内存容量;一种方法是从物理上增加内存容量; 另一种方法是从逻辑上扩充内存容量,另一种方法是从逻辑上扩充内存容量,本章主要介绍的问题。本章主要介绍的问题。第六章第六章 虚拟存储器虚拟存储器Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.1 虚拟存储器的基本概念虚拟存储器的基本概念6.2请求分页存储管理方式请求分页存储管理方式6.3页面置换算法页面置换算法6.4请求分页系统的性能分析请求分页系统的性能分析6.5请求分段存储管理方式请求分段存储管理方式总结总结 作业作业练习练习 练习答案练习答案本章主要目录本章主要目录Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.1虚拟存储器的基本概念虚拟存储器的基本概念6.1.1 6.1.1 虚拟存储器的引入虚拟存储器的引入一、局部性原理一、局部性原理二、虚拟存储器的定义二、虚拟存储器的定义6.1.2 6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式一、分页请求系统一、分页请求系统二、请求分段系统二、请求分段系统6.1.3 6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.常规存储管理方式的特征:常规存储管理方式的特征:(1)一次性:一次性:作业在运行前需一次性的作业在运行前需一次性的全部装入内存,正是该特征导致了上述全部装入内存,正是该特征导致了上述两种情况的发生。此外,许多作业在每两种情况的发生。此外,许多作业在每次运行时,并非全部的程序和数据都要次运行时,并非全部的程序和数据都要用到。用到。一次性全部装入其全部程序,是对内一次性全部装入其全部程序,是对内存空间的浪费。存空间的浪费。6.1虚拟存储器的基本概念虚拟存储器的基本概念Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2)驻留性:驻留性:作业装入内存后,便一直作业装入内存后,便一直驻留在内存中,直至作业运行结束。驻留在内存中,直至作业运行结束。一次性和驻留性,使许多在程序运行一次性和驻留性,使许多在程序运行中不用或暂时不用的程序(数据)占据中不用或暂时不用的程序(数据)占据了大量的内存空间,使得一些需要运行了大量的内存空间,使得一些需要运行的作业无法装入运行。的作业无法装入运行。一次性一次性及及驻留性驻留性是否是程序运行所必是否是程序运行所必须的呢?须的呢?6.1虚拟存储器的基本概念虚拟存储器的基本概念Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、局部性原理一、局部性原理1968年年P.Denning指出,程序在指出,程序在执行时将呈现出局部性规律,即在一较执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅限于某个部短的时间内,程序的执行仅限于某个部分,它所对应的内存空间也局限于一段分,它所对应的内存空间也局限于一段区域。他提出了几个论点:区域。他提出了几个论点:6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)程序在执行时,除少数转移和过)程序在执行时,除少数转移和过程调用指令外,大多数情况下是顺序执程调用指令外,大多数情况下是顺序执行的。行的。(2)过程调用会使程序的执行流程由)过程调用会使程序的执行流程由一部分内存区域转至另一部分区域。实一部分内存区域转至另一部分区域。实际应用中,过程调用的深度一般不超过际应用中,过程调用的深度一般不超过5,即程序在一段时间内,都局限在这,即程序在一段时间内,都局限在这些过程的范围内运行。些过程的范围内运行。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)程序中存在许多循环结构,多次)程序中存在许多循环结构,多次执行。执行。(4)程序还包括许多对数据结构)程序还包括许多对数据结构(数数组组)的处理,局限于很小的范围内。的处理,局限于很小的范围内。 局限性还体现在以下两个方面:局限性还体现在以下两个方面:6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)时间局限性)时间局限性。程序中的某条。程序中的某条指令一旦执行,不久后该指令可能再指令一旦执行,不久后该指令可能再次执行,某个数据结构被访问不久以次执行,某个数据结构被访问不久以后,该数据结构可能再次被访问。后,该数据结构可能再次被访问。 产生时间局限性的典型原因是在产生时间局限性的典型原因是在程程序中存在着大量的循环操作序中存在着大量的循环操作。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2)空间局限性。一旦程序访问)空间局限性。一旦程序访问了某个存储单元,不久后,其附近的了某个存储单元,不久后,其附近的存储单元也被访问。存储单元也被访问。即程序在一段时间内所访问的地址,即程序在一段时间内所访问的地址,可能集中在一定的范围内。可能集中在一定的范围内。 典型原因是典型原因是程序的顺序执行程序的顺序执行。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、虚拟存储器的定义二、虚拟存储器的定义基于局部性原理,一个作业基于局部性原理,一个作业(程程序序)在运行前,没有必要全部装入内存,在运行前,没有必要全部装入内存,仅将当前要运行的那部分页面或段,仅将当前要运行的那部分页面或段,先装入内存即可启动运行。先装入内存即可启动运行。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.其余部分暂时留在外存上,程序其余部分暂时留在外存上,程序在运行时如果所要访问的页或段已调在运行时如果所要访问的页或段已调入内存,则可继续运行,若尚未调入入内存,则可继续运行,若尚未调入内存即内存即缺页或缺段缺页或缺段,程序利用,程序利用OS提供提供的请求调页或段功能,将它们调入内的请求调页或段功能,将它们调入内存,使进程继续执行下去。存,使进程继续执行下去。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 若内存已满,无法再装入新的页或若内存已满,无法再装入新的页或段,再利用页或段的置换功能,将内段,再利用页或段的置换功能,将内存中暂时不用的页或段调出至外存上,存中暂时不用的页或段调出至外存上,腾出足够的内存空间后,再将要访问腾出足够的内存空间后,再将要访问的页或段调入内存,使程序继续执行的页或段调入内存,使程序继续执行下去。下去。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.如此下去,可使一个大的用户程序在如此下去,可使一个大的用户程序在较小的内存空间中运行,也可使内存中较小的内存空间中运行,也可使内存中同时装入更多的进程并发执行。同时装入更多的进程并发执行。从用户角度看,该系统所具有的内从用户角度看,该系统所具有的内存空间,比实际容量大得多,这样的存存空间,比实际容量大得多,这样的存储器称为虚拟存储器。储器称为虚拟存储器。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.所谓所谓虚拟存储器,是指仅把作业的一虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系部分装入内存便可运行作业的存储器系统。统。 具体说,是指具有请求调入功能和置具体说,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。充的一种存储器系统。 ( 所谓虚拟存储器是一个地址空间,所谓虚拟存储器是一个地址空间,是进程访问的逻辑地址空间,而不是物是进程访问的逻辑地址空间,而不是物理的主存空间。理的主存空间。)6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 用户所看到的大容量只是一种感觉,是用户所看到的大容量只是一种感觉,是虚的,其逻辑容量由内存和外存容量之虚的,其逻辑容量由内存和外存容量之和所决定,其运行速度接近于内存速度,和所决定,其运行速度接近于内存速度,而每位的成本又接近于外存。而每位的成本又接近于外存。 可见,虚拟存储技术是一种性能非常可见,虚拟存储技术是一种性能非常优越的存储管理技术,被广泛应用于各优越的存储管理技术,被广泛应用于各类计算机系统中。类计算机系统中。6.1.1 虚拟存储器的引入虚拟存储器的引入Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 是建立在离散分配存储管理方式是建立在离散分配存储管理方式的基础上,采用下述方式实现的:的基础上,采用下述方式实现的: 一、请求分页系统一、请求分页系统它是在纯分页它是在纯分页(静态页面管理静态页面管理)系系统的基础上,增加了统的基础上,增加了请求调页功能、请求调页功能、页面置换功能页面置换功能所形成的页式虚拟存储所形成的页式虚拟存储系统。系统。6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.只装入少数页面的程序(及数据),只装入少数页面的程序(及数据),便可启动运行。随后,再通过调页功便可启动运行。随后,再通过调页功能及页面置换功能,陆续地把即将要能及页面置换功能,陆续地把即将要运行的页面调入内存,同时把暂不运运行的页面调入内存,同时把暂不运行的页面换出到外存上,行的页面换出到外存上,置换时以页置换时以页面为单位面为单位。要实现以上功能,系统应。要实现以上功能,系统应提供以下硬件支持:提供以下硬件支持:6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)请求分页的页表机制)请求分页的页表机制。是在纯分页的。是在纯分页的页表机制上增加若干项而形成的,作为请页表机制上增加若干项而形成的,作为请求分页的数据结构。求分页的数据结构。(2)缺页中断机构)缺页中断机构。每当用户程序要访问。每当用户程序要访问的页面尚未调入内存时,便产生一缺页中的页面尚未调入内存时,便产生一缺页中断,以请求断,以请求OS将所缺的页面调入内存。将所缺的页面调入内存。6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)地址变换机构)地址变换机构 是在纯分页的地址变换机构的基础上是在纯分页的地址变换机构的基础上发展形成的。发展形成的。 要实现请求调页还应得到要实现请求调页还应得到OS的支持,的支持,在实现请求调页功能时,是由在实现请求调页功能时,是由OS将所需将所需的页从外存调入内存,在实现置换功能的页从外存调入内存,在实现置换功能时,也是由时,也是由OS将内存的某些页调至外存。将内存的某些页调至外存。6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、请求分段系统二、请求分段系统是在分段系统的基础上,增加了请是在分段系统的基础上,增加了请求调段及分段置换功能后,所形成的段求调段及分段置换功能后,所形成的段式虚拟存储系统。式虚拟存储系统。它允许只装入若干段而非所有段的它允许只装入若干段而非所有段的用户程序和数据,即可启动运行。以后用户程序和数据,即可启动运行。以后再通过调段功能和段的置换功能,将暂再通过调段功能和段的置换功能,将暂不运行的段调出,同时调入即将运行的不运行的段调出,同时调入即将运行的段,置换是以段为单位进行的。段,置换是以段为单位进行的。6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.要实现请求分段,系统提供的硬件支持:要实现请求分段,系统提供的硬件支持:(1)请求分段的段表机制)请求分段的段表机制。是在纯分段的。是在纯分段的段表机制基础上,增加若干项而形成的。段表机制基础上,增加若干项而形成的。(2)缺段中断机构)缺段中断机构。每当用户程序所要访。每当用户程序所要访问的段尚未调入内存时,产生一缺段中问的段尚未调入内存时,产生一缺段中断,请求断,请求OS将所缺的段调入内存。将所缺的段调入内存。6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)地址变换机构)地址变换机构。是在纯分段的。是在纯分段的地址变换机构的基础上发展形成的,实地址变换机构的基础上发展形成的,实现请求调段和置换功能也需得到现请求调段和置换功能也需得到OS的支的支持。持。目前,不少虚拟存储器是建立在段页目前,不少虚拟存储器是建立在段页式系统基础上的,通过分段系统的基础式系统基础上的,通过分段系统的基础上增加请求调页和页面置换功能,形成上增加请求调页和页面置换功能,形成了段页式虚拟存储器系统。了段页式虚拟存储器系统。6.1.2 虚拟存储器的实现方式虚拟存储器的实现方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.最基本最基本的特征是的特征是离散性离散性,在此基,在此基础上又形成了础上又形成了多次性多次性及及对换性对换性,其表,其表现出来的最重要特征是现出来的最重要特征是虚拟性虚拟性。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.1、离散性、离散性是指在内存分配时采用是指在内存分配时采用离散分配离散分配方式方式,是其它几个特征的基础。没有,是其它几个特征的基础。没有离散性,就不可能实现虚拟存储器。离散性,就不可能实现虚拟存储器。因为一个因为一个作业需分多次调入内存。作业需分多次调入内存。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.若采用连续分配方式时,需将若采用连续分配方式时,需将作业装入一个连续的内存区域中,作业装入一个连续的内存区域中,为此,需事先为它一次性地申请为此,需事先为它一次性地申请足够大的内存空间,以便将整个足够大的内存空间,以便将整个作业先后分多次装入内存。作业先后分多次装入内存。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.这样,一方面使一部分内存空间这样,一方面使一部分内存空间都处于暂时或永久空闲状态,造成内都处于暂时或永久空闲状态,造成内存资源的严重浪费。另一方面,不可存资源的严重浪费。另一方面,不可能使一个大作业运行在一个小的内存能使一个大作业运行在一个小的内存空间中。空间中。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.即无法实现虚拟存储器功能。即无法实现虚拟存储器功能。只有采用离散分配方式,且仅在需只有采用离散分配方式,且仅在需要调入某部分程序和数据时,才为它要调入某部分程序和数据时,才为它申请内存空间,以避免浪费内存空间,申请内存空间,以避免浪费内存空间,也才有可能实现虚拟存储器功能。也才有可能实现虚拟存储器功能。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、多次性、多次性是指一个是指一个作业被分成多次地调入作业被分成多次地调入内存运行内存运行,即在作业运行时没有必要,即在作业运行时没有必要将其全部装入,只须将当前要运行的将其全部装入,只须将当前要运行的那部分程序和数据装入内存即可,以那部分程序和数据装入内存即可,以后运行到哪一部分时再将它调入。后运行到哪一部分时再将它调入。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.多次性是虚拟存储器多次性是虚拟存储器最重要最重要的特征,的特征,任何其它的存储管理方式,都不具有这任何其它的存储管理方式,都不具有这一特征。所以,虚拟存储器是具有多次一特征。所以,虚拟存储器是具有多次性特征的存储器系统。性特征的存储器系统。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3、对换性、对换性是指允许在是指允许在作业的运行过程中换进、作业的运行过程中换进、换出换出,即在进程运行期间,允许将那些暂,即在进程运行期间,允许将那些暂不使用的程序和数据,从内存中调至外存不使用的程序和数据,从内存中调至外存的对换区(换出),待以后需要时再将它的对换区(换出),待以后需要时再将它们从外存调至内存(换入),甚至还允许们从外存调至内存(换入),甚至还允许将暂时不运行的进程调至外存,待它们重将暂时不运行的进程调至外存,待它们重又具备运行条件时再调入内存。换进、换又具备运行条件时再调入内存。换进、换出能有效地提高内存利用率。可见,虚拟出能有效地提高内存利用率。可见,虚拟存储器具有对换性特征。存储器具有对换性特征。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4、虚拟性、虚拟性是指能够从逻辑上扩充内存容量,使是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内用户所看到的内存容量远大于实际内存容量,这是虚拟存储器所表现出来存容量,这是虚拟存储器所表现出来的最重要的特征,也是实现虚拟存储的最重要的特征,也是实现虚拟存储器的最重要目标。器的最重要目标。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.虚拟性虚拟性是以是以多次性多次性和和对换性对换性为基础为基础的,仅当系统允许将作业分多次调入的,仅当系统允许将作业分多次调入内存,并能将内存中暂时不运行的程内存,并能将内存中暂时不运行的程序和数据换至外存时,才有可能实现序和数据换至外存时,才有可能实现虚拟存储器;虚拟存储器;多次性多次性和和对换性对换性又必须建立在离散又必须建立在离散分配的基础上。分配的基础上。6.1.3 虚拟存储器的特征虚拟存储器的特征Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.2 请求分页存储管理方式请求分页存储管理方式6.2.1 6.2.1 请求分页中的硬件支持请求分页中的硬件支持一、页表机制一、页表机制二、缺页中断机构二、缺页中断机构三、地址变换机构三、地址变换机构6.2.2 6.2.2 页面分配页面分配一、最小物理块数一、最小物理块数二、页面分配和置换策略二、页面分配和置换策略三、分配算法三、分配算法6.2.3 6.2.3 页面调入策略页面调入策略一、何时调入页面一、何时调入页面二、从何处调入页面二、从何处调入页面三、页面调入过程三、页面调入过程Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 请求分页存储管理方式是建立在纯分请求分页存储管理方式是建立在纯分页基础上的,是目前常用的一种实现虚页基础上的,是目前常用的一种实现虚拟存储器的方式。它拟存储器的方式。它换进、换出的基本换进、换出的基本单位是固定长的页面单位是固定长的页面。 请求分段方式的换进、换出基本单位请求分段方式的换进、换出基本单位是段,其长度是可变的,其每段的分配是段,其长度是可变的,其每段的分配方式是动态分区分配方式。方式是动态分区分配方式。6.2 请求分页存储管理方式请求分页存储管理方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.需要有页表机制、缺页中断机构及地址变需要有页表机制、缺页中断机构及地址变换机构。换机构。一、页表机制一、页表机制6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 请求分页系统中所需要的主要数据结构是请求分页系统中所需要的主要数据结构是页表。其基本作用是将用户地址空间中的逻辑页表。其基本作用是将用户地址空间中的逻辑地址变换为内存空间的物理地址。在页表中增地址变换为内存空间的物理地址。在页表中增加了若干项,供程序加了若干项,供程序(数据数据)在换进、换出时参在换进、换出时参考。其页表项:考。其页表项:页号物理块号状态位P访问字段A修改位M外存地址6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)状态位状态位(存在位存在位)P。用于指示该页是否。用于指示该页是否已调入内存,供程序访问时参考。已调入内存,供程序访问时参考。(2)访问字段访问字段A。用于记录本页在一段时间。用于记录本页在一段时间内被访问的次数,或最近已有多长时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页未被访问,提供给置换算法选择换出页面时参考。面时参考。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)修改位修改位M表示该页在调入内存后是否被修改表示该页在调入内存后是否被修改过。由于内存中的每一页在外存上都过。由于内存中的每一页在外存上都保留了一份副本,所以,若未被修改,保留了一份副本,所以,若未被修改,在置换该页时就不需将该页写回到外在置换该页时就不需将该页写回到外存上,若已被修改,则必须将该页重存上,若已被修改,则必须将该页重写到外存上,保证外存上始终是最新写到外存上,保证外存上始终是最新副本。副本。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(4)外存地址。用于指出该页在外存上的外存地址。用于指出该页在外存上的地址,一般是物理块号,供调入该页时地址,一般是物理块号,供调入该页时使用。使用。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、缺页中断机构二、缺页中断机构 每当所要访问的页面不在内存时,每当所要访问的页面不在内存时,系统便产生一系统便产生一缺页中断缺页中断,请求,请求OS将所将所缺之页调入内存。缺之页调入内存。 缺页中断,要经历保护缺页中断,要经历保护CPU环境、环境、分析中断原因、转入缺页中断处理程分析中断原因、转入缺页中断处理程序进行处理、恢复序进行处理、恢复CPU环境几个步骤。环境几个步骤。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.与一般的中断的区别:与一般的中断的区别:(1)一般中断是在一般中断是在指令执行期间产生和处指令执行期间产生和处理缺页中断信号。理缺页中断信号。 一般一般CPU每每执行完执行完一条指令后便去一条指令后便去检查是否有中断请求到达,有,则响应,检查是否有中断请求到达,有,则响应,否则,继续执行下一条指令。否则,继续执行下一条指令。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.缺页中断是在指令缺页中断是在指令执行期间执行期间,发现所,发现所要访问的指令或数据不在内存时产生和处要访问的指令或数据不在内存时产生和处理的。理的。(2)一条指令在执行期间,可能产生多一条指令在执行期间,可能产生多次缺页中断。次缺页中断。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.三、地址变换机构三、地址变换机构 请求分页系统中的地址变换机构,是请求分页系统中的地址变换机构,是在分页系统的地址变换机构的基础上,在分页系统的地址变换机构的基础上,为实现虚拟存储器而增加了某些功能形为实现虚拟存储器而增加了某些功能形成的。其过程如下图示:成的。其过程如下图示:6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在进行地址变换时,首先检索快表,从在进行地址变换时,首先检索快表,从中找出要访问的页。若找到,则修改页表中找出要访问的页。若找到,则修改页表项中的访问位。项中的访问位。 对于写指令,还要将修改位置为对于写指令,还要将修改位置为1,然,然后利用页表项中给出的物理块号和页内地后利用页表项中给出的物理块号和页内地址,形成物理地址。址,形成物理地址。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 若在快表中未找到该页的页表项,若在快表中未找到该页的页表项,则到内存中去查找页表,再从找到的则到内存中去查找页表,再从找到的页表项中的状态位页表项中的状态位P,了解该页是否调,了解该页是否调入内存。两种情况:入内存。两种情况: 6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)该页已调入内存,则将该页的页表该页已调入内存,则将该页的页表项写入快表,若快表已满时,应先调项写入快表,若快表已满时,应先调出按某种算法所确定的页的页表项,出按某种算法所确定的页的页表项,然后再写入该页的页表项。然后再写入该页的页表项。(2)该页尚未调入内存,则产生缺页中该页尚未调入内存,则产生缺页中断,请求断,请求OS从外存中把该页调入内从外存中把该页调入内存。存。6.2.1 请求分页中的硬件支持请求分页中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.为进程分配物理块时,需解决三个问题:为进程分配物理块时,需解决三个问题: 一,为保证进程能正常运行所需的一,为保证进程能正常运行所需的最少物理块数的确定。最少物理块数的确定。 二,为每个进程分配的物理块,其二,为每个进程分配的物理块,其数目是固定的还是可变的。数目是固定的还是可变的。 三,对不同的进程所分配的物理块三,对不同的进程所分配的物理块数,是采取平均分配算法还是根据进数,是采取平均分配算法还是根据进程的大小按比例予以分配。程的大小按比例予以分配。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、最小物理数一、最小物理数 随着为每个进程所分配物理块数目的随着为每个进程所分配物理块数目的减少,会使进程执行中的缺页率提高,减少,会使进程执行中的缺页率提高,从而降低了进程的执行速度。从而降低了进程的执行速度。 为使进程有效地工作,应为它分配为使进程有效地工作,应为它分配一定数目的物理块,能保证进程正常运一定数目的物理块,能保证进程正常运行所需的最少物理块数。若少于此值时,行所需的最少物理块数。若少于此值时,进程将无法运行。进程将无法运行。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 进程所需的最小物理块数进程所需的最小物理块数取决于指令取决于指令的格式、功能和寻址方式的格式、功能和寻址方式。 若是单地址指令且采用直接寻址方式,若是单地址指令且采用直接寻址方式,最少物理块数为最少物理块数为2,一块存放指令的页面,一块存放指令的页面,另一块存放数据的页面。另一块存放数据的页面。 若采用间接寻址,至少要求三个物若采用间接寻址,至少要求三个物理块。功能强的机器需要的最少物理数理块。功能强的机器需要的最少物理数可能要大。可能要大。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、页面分配和置换策略二、页面分配和置换策略 两种分配策略:固定和可变分配策略两种分配策略:固定和可变分配策略 两种置换策略:全局置换和局部置换。两种置换策略:全局置换和局部置换。组合出三种适用的策略:组合出三种适用的策略:1、固定分配局部置换策略、固定分配局部置换策略fixed allocation,local replacement6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 为每个进程为每个进程分配一固定页数的内存分配一固定页数的内存空间,在整个运行期间都不改变空间,在整个运行期间都不改变。 若进程在运行中发现缺页时,只若进程在运行中发现缺页时,只能从该进程在内存的能从该进程在内存的n个页面中选出个页面中选出一页换出,再调入一页,以保证分配一页换出,再调入一页,以保证分配给进程的内存空间不变。给进程的内存空间不变。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.但为每个进程分配多少个页面的但为每个进程分配多少个页面的内存难以确定。太少,频繁出现缺页内存难以确定。太少,频繁出现缺页中断,太多,内存中的进程数目减少,中断,太多,内存中的进程数目减少,实现进程对换时,开销更多。实现进程对换时,开销更多。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、可变分配全局置换、可变分配全局置换variable allocation,global replacement 最易于实现的一种页面分配和置换最易于实现的一种页面分配和置换策略,广泛用于多个策略,广泛用于多个OS中。中。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 先为系统中的先为系统中的每个进程分配一定数目每个进程分配一定数目的物理块,而的物理块,而OS自身保持一个空闲物理自身保持一个空闲物理块队列。块队列。 当某进程发现缺页时,由系统从空闲当某进程发现缺页时,由系统从空闲物理块队列中,取出一物理块分配给该物理块队列中,取出一物理块分配给该进程,并将要调入的缺页装入其中。进程,并将要调入的缺页装入其中。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 即凡产生缺页的进程都将获得新物理即凡产生缺页的进程都将获得新物理块。只有当空闲物理块队列用完时,块。只有当空闲物理块队列用完时,OS才能从内存中选择一页调出,该页可能才能从内存中选择一页调出,该页可能是系统中任一进程的页。是系统中任一进程的页。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3、可变分配局部置换、可变分配局部置换variable allocation,local replacement 为每个进程分配一定数目的内存空为每个进程分配一定数目的内存空间,当某进程发生缺页时,只允许从该间,当某进程发生缺页时,只允许从该进程在内存的页面中选出一页换出,不进程在内存的页面中选出一页换出,不会影响其它进程的执行。会影响其它进程的执行。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.三、分配算法三、分配算法 固定分配时,如何将系统中可供分固定分配时,如何将系统中可供分配的所有物理块分配给各个进程:配的所有物理块分配给各个进程:1、平均分配算法、平均分配算法 将系统中将系统中所有可供分配的物理块,所有可供分配的物理块,平均分配给各个进程平均分配给各个进程,貌似公平,实不,貌似公平,实不公平,因为,它并未考虑到各进程本身公平,因为,它并未考虑到各进程本身的大小。的大小。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、按比例分配算法、按比例分配算法 根据进程的大小按比例分配物理块,根据进程的大小按比例分配物理块,若系统中若系统中n个进程,每个进程的页面数个进程,每个进程的页面数为为si其总和:其总和: S=6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 假定系统中可用的物理块总数为假定系统中可用的物理块总数为m,则,则每个进程所能分到的物理块数为每个进程所能分到的物理块数为bi,将有,将有 bi = bi应该取整,它必须大于最小物理块应该取整,它必须大于最小物理块数。数。6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3、考虑优先权的分配算法、考虑优先权的分配算法 把内存中可供分配的所有物理块分把内存中可供分配的所有物理块分成两部分:成两部分: 一部分按比例地分配给各进程。一部分按比例地分配给各进程。 另一部分则根据各进程的优先权,另一部分则根据各进程的优先权,适当地增加其相应份额后,分配给各进适当地增加其相应份额后,分配给各进程。程。 6.2.2 页面分配页面分配Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、何时调入页面(调入时机)一、何时调入页面(调入时机) 可采用:可采用:1、预调页策略、预调页策略 系统对那些在外存上的页进行调入顺系统对那些在外存上的页进行调入顺序计算,估计出执行的顺序,并按此将序计算,估计出执行的顺序,并按此将它们顺次调入和调出内存。它们顺次调入和调出内存。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、请求调页策略、请求调页策略 当进程运行中需要访问某部分程序和当进程运行中需要访问某部分程序和数据时,发现其所在的页面不在内存,数据时,发现其所在的页面不在内存,需立即提出请求,由系统将其页面调入需立即提出请求,由系统将其页面调入内存。内存。 该页是一定会被访问的,目前的虚拟该页是一定会被访问的,目前的虚拟存储器中,大多采用此策略。存储器中,大多采用此策略。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、从何处调入页面二、从何处调入页面 请求分页系统中,把外存分为两部分:请求分页系统中,把外存分为两部分: 一部分是文件区,存放文件;一部分是文件区,存放文件; 另一部分是对换区,存放对换页面。另一部分是对换区,存放对换页面。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 对换区的磁盘对换区的磁盘I/O速度比文件区的速度比文件区的高。当发生缺页请求时,系统从何处高。当发生缺页请求时,系统从何处将缺页调入内存,分三种情况:将缺页调入内存,分三种情况:(1)系统拥有足够的对换区空间,可系统拥有足够的对换区空间,可全部从对换区调入所需页面全部从对换区调入所需页面,以提高,以提高调页速度。在进程运行前,须将与该调页速度。在进程运行前,须将与该进程有关的文件,从文件区拷贝到对进程有关的文件,从文件区拷贝到对换区。换区。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2)系统缺少足够的对换空间,凡系统缺少足够的对换空间,凡不被不被修改的文件,都直接从文件区调入修改的文件,都直接从文件区调入,当,当换出这些页面时,由于它们未被修改而换出这些页面时,由于它们未被修改而不必再将它们换出,以后再调入时,仍不必再将它们换出,以后再调入时,仍从文件区直接调入,对于那些可能从文件区直接调入,对于那些可能被修被修改的部分,将它们换出时,须调到对换改的部分,将它们换出时,须调到对换区,以后需要时再从对换区调入区,以后需要时再从对换区调入。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)UNIX方式,由于与进程有关的方式,由于与进程有关的文件都放在文件区,凡是未运行过的文件都放在文件区,凡是未运行过的页面,都应从文件区调入,运行过后页面,都应从文件区调入,运行过后而被换出的页面,放在对换区,在下而被换出的页面,放在对换区,在下次调入时,从对换区调入。次调入时,从对换区调入。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在在UNIX中允许页面共享,所以,中允许页面共享,所以,某进程所请求的页面有可能已由其它进某进程所请求的页面有可能已由其它进程调入内存,系统无须再从对换区调入。程调入内存,系统无须再从对换区调入。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.三、页面调入过程三、页面调入过程 当程序所要访问的页面未在内存时,当程序所要访问的页面未在内存时,便向便向CPU发出一缺页中断,由中断处发出一缺页中断,由中断处理程序首先保留理程序首先保留CPU环境,分析中断环境,分析中断原因后,转入缺页中断处理程序。原因后,转入缺页中断处理程序。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 该程序通过查找页表,得到该页所在外该程序通过查找页表,得到该页所在外存的物理块号。存的物理块号。 若此时内存未满,则启动磁盘若此时内存未满,则启动磁盘I/O将所将所缺的页调入内存,然后修改页表。缺的页调入内存,然后修改页表。 若内存已满,则须先按照某种置换算若内存已满,则须先按照某种置换算法,从内存中选出一页准备换出。法,从内存中选出一页准备换出。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 若该页未被修改过,可不必将该页若该页未被修改过,可不必将该页写入磁盘。写入磁盘。 若此页已被修改,则必须将它重新若此页已被修改,则必须将它重新写入磁盘。写入磁盘。 然后再将缺页调入内存,并修改页然后再将缺页调入内存,并修改页表中的相应页表项,将其表中的相应页表项,将其存在位存在位置为置为1,再将此页表项写入快表中。,再将此页表项写入快表中。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在将缺页调入内存后,利用修改后的在将缺页调入内存后,利用修改后的页表,去形成所要访问数据的物理地址,页表,去形成所要访问数据的物理地址,再去访问内存数据。整个页面的调入过再去访问内存数据。整个页面的调入过程对用户是透明的。程对用户是透明的。6.2.3 页面调入策略页面调入策略Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3页面置换算法页面置换算法6.3.1 6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法一、最佳置换算法一、最佳置换算法二、先进先出页面置换算法二、先进先出页面置换算法6.3.2 6.3.2 最近最久未使用最近最久未使用LRULRU置换算法置换算法一、一、LRULRU算法的描述算法的描述二、二、LRULRU算法的硬件支持算法的硬件支持6.3.3 Clock6.3.3 Clock置换算法置换算法一、简单的一、简单的ClockClock置换算法置换算法二、改进型二、改进型ClockClock置换算法置换算法6.3.4 6.3.4 其它置换算法其它置换算法一、最少使用一、最少使用LFULFU置换算法置换算法二、页面缓冲算法二、页面缓冲算法PFLPFL影响缺页中断率的因素影响缺页中断率的因素Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 进程运行过程中,若其所要访问进程运行过程中,若其所要访问的页面不在内存,而内存已无空闲空的页面不在内存,而内存已无空闲空间时,系统必须从内存中调出一页程间时,系统必须从内存中调出一页程序或数据送磁盘的对换区中。将哪个序或数据送磁盘的对换区中。将哪个页面调出,须根据一定的算法来确定。页面调出,须根据一定的算法来确定。6.3页面置换算法页面置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 选择换出页面的算法称为页面置换算法选择换出页面的算法称为页面置换算法Page-Replacement Algorithms。算法的好坏影响系统。算法的好坏影响系统的性能,不适当的算法会导致进程发生的性能,不适当的算法会导致进程发生“抖抖动动”Thrashing。即刚被换出的页很快又被重新。即刚被换出的页很快又被重新调入,调回内存不久又马上调出内存,如此调入,调回内存不久又马上调出内存,如此反复,频繁地更换页面,把大部分时间花费反复,频繁地更换页面,把大部分时间花费在完成页面置换的工作上,称该进程发生了在完成页面置换的工作上,称该进程发生了“抖动抖动”。颠簸。颠簸6.3页面置换算法页面置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 一个好的置换算法,理论上,应将以一个好的置换算法,理论上,应将以后不会被访问的页面换出,或把在较长时后不会被访问的页面换出,或把在较长时间内不会被访问的页面换出。间内不会被访问的页面换出。6.3页面置换算法页面置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 两种极端的算法,前者具有最好的性两种极端的算法,前者具有最好的性能,却难于实现,后者是性能最差的算能,却难于实现,后者是性能最差的算法,却是最直观的算法,实际应用很少。法,却是最直观的算法,实际应用很少。一、最佳置换算法一、最佳置换算法optimal 该算法是由该算法是由Belady于于1966年提出的,年提出的,它所它所选择的被淘汰页面,将是永不使用选择的被淘汰页面,将是永不使用的,或是在最长时间内不再被访问的页的,或是在最长时间内不再被访问的页面。面。6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 对于固定分配方式,该算法可获得最低的对于固定分配方式,该算法可获得最低的缺页率。由于无法预知一个进程在内存的若干缺页率。由于无法预知一个进程在内存的若干个页面中,哪个页面是未来最长时间内不再被个页面中,哪个页面是未来最长时间内不再被访问的,所以,该算法是无法实现的。但可用访问的,所以,该算法是无法实现的。但可用它去评价其它算法。它去评价其它算法。 假定系统为某进程分配了三个物理块,并假定系统为某进程分配了三个物理块,并有以下的页面号引用串:有以下的页面号引用串: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,16.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 进程运行时先将进程运行时先将7,0,1三个页面装三个页面装入内存,以后,当访问页面入内存,以后,当访问页面2时,产生时,产生缺页中断,缺页中断,OS根据最佳置换算法,选根据最佳置换算法,选择页面择页面7予以淘汰,因为页面予以淘汰,因为页面0在第在第5次次时被再访问,页面时被再访问,页面1在第在第14次再被访问,次再被访问,而页面而页面7要在第要在第18次时被再访问时才需次时被再访问时才需调入。调入。6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 再访问再访问0页面时,则不会产生缺页中断,页面时,则不会产生缺页中断,而当进程访问页面而当进程访问页面3时,又引发页面时,又引发页面1被淘被淘汰,以此类推,直至进程完成,其运行过汰,以此类推,直至进程完成,其运行过程中只发生了程中只发生了6次页面置换。如图:次页面置换。如图:6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.707701201203243203201701缺缺缺缺缺缺缺缺缺缺缺缺6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、先进先出页面置换算法二、先进先出页面置换算法 最早出现最早出现的置换算法,该算法总的置换算法,该算法总是淘汰最先进入内存的页面,即在内是淘汰最先进入内存的页面,即在内存中存中驻留时间最长驻留时间最长的页面。的页面。6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 该算法实现简单,只须把调入内存的页该算法实现简单,只须把调入内存的页面,按先后次序面,按先后次序链接一个队列链接一个队列,并设置一,并设置一个指针,称为个指针,称为替换指针替换指针,它总是,它总是指向最老指向最老的页面的页面。 但与进程实际运行的情况不一定相符。但与进程实际运行的情况不一定相符。因为某一个进程中,有些页面经常被访问,因为某一个进程中,有些页面经常被访问,它在内存中的时间可能是最长的,有可能它在内存中的时间可能是最长的,有可能会被淘汰掉。会被淘汰掉。6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.例:系统分配三个物理块,某进程有引用页例:系统分配三个物理块,某进程有引用页面号串:面号串:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1若采用先进先出置换算法,共发生了若采用先进先出置换算法,共发生了12次置次置换。如:换。如:6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.707701201231230430420423023013012712702701缺缺缺缺 缺缺 缺缺 缺缺 缺缺 缺缺缺缺 缺缺缺缺 缺缺 缺缺6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Belady现象现象陷阱现象:分配的页面数增多,缺页次数反而陷阱现象:分配的页面数增多,缺页次数反而增加。增加。正常情况,例:一进程分配正常情况,例:一进程分配3个页框,页面访个页框,页面访问次序:问次序:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1缺页缺页12次次若分配若分配4个页面,发生个页面,发生9次缺页次缺页另一情况,例:一进程分配另一情况,例:一进程分配3个页框,访问串:个页框,访问串:1,2,3,4,1,,2,5,1,2,3,4,5,产生,产生9次缺次缺页,若分配页,若分配4个页框,产生个页框,产生10次。次。原因:原因:没有考虑程序执行的动态特征。没有考虑程序执行的动态特征。6.3.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、一、LRU(least recently used)算法的描述算法的描述 该算法是根据程序执行时所具有的该算法是根据程序执行时所具有的局部属性来考虑的,即那些刚被使用过局部属性来考虑的,即那些刚被使用过的页面,可能马上还要被使用,而那些的页面,可能马上还要被使用,而那些在较长时间里未被使用的页面,一般说在较长时间里未被使用的页面,一般说可能不会马上被使用到。可能不会马上被使用到。6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 根据页面调入内存后的使用情况,用根据页面调入内存后的使用情况,用“最近的过去最近的过去”作为作为“最近的将来最近的将来”的近的近似。即似。即LRU是选择最近最久未使用的页是选择最近最久未使用的页面予以淘汰。面予以淘汰。6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 该算法赋予每个页面一个访问字段,该算法赋予每个页面一个访问字段,用来记录一个页面自用来记录一个页面自上次被访问以来所上次被访问以来所经历的时间经历的时间t,当需要淘汰一个页面时,当需要淘汰一个页面时,选择现有页面中其选择现有页面中其t值最大的,即最近最值最大的,即最近最久未使用的页面予以淘汰。久未使用的页面予以淘汰。6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 例:对页面号引用串:例:对页面号引用串: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1利用利用LRU算法进行页面置换,其结果如算法进行页面置换,其结果如图:图:6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.707701201203403402432032132102107缺缺缺缺缺缺 缺缺 缺缺缺缺缺缺缺缺缺缺6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、二、LRU算法的硬件支持算法的硬件支持 LRU对各种类型的程序都能适用,但对各种类型的程序都能适用,但实现复杂,须利用一些硬件支持解决一实现复杂,须利用一些硬件支持解决一些问题:些问题:(1)一个进程在内存中的各个页面各有多久一个进程在内存中的各个页面各有多久时间未被进程访问时间未被进程访问(2)如何快速地知道哪一页是最近最久未使如何快速地知道哪一页是最近最久未使用的页面用的页面。6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.1、寄存器、寄存器 用于记录某进程在内存中各页的使用于记录某进程在内存中各页的使用情况,需为每个在内存中的页面配用情况,需为每个在内存中的页面配置一个移位寄存器,表示为:置一个移位寄存器,表示为: R= Rn-1 Rn-2 Rn-3 R2 R1 R06.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 进程访问某物理块时,将相应的寄存进程访问某物理块时,将相应的寄存器的器的Rn-1位位(最高位最高位)置成置成1,定时信号,定时信号将每隔一定时间将寄存器右移一位。将每隔一定时间将寄存器右移一位。 若把若把n位寄存器的数看作一个页符号位寄存器的数看作一个页符号的整数,则具有最小数值的寄存器所的整数,则具有最小数值的寄存器所对应的页面,就是最近最久未使用的对应的页面,就是最近最久未使用的页面。如图:页面。如图:6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.R7R6R5R4R3R2R1R01010100102101011003000001004011010115110101106001010117000001118011011016.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、堆栈、堆栈 利用一个特殊的栈来保存当前使用的各利用一个特殊的栈来保存当前使用的各个页面的页面号。当进程访问某页面时,个页面的页面号。当进程访问某页面时,将该页面的页面号从栈中移出,将它压入将该页面的页面号从栈中移出,将它压入栈顶,所以,栈顶始终是最新被访问的页栈顶,所以,栈顶始终是最新被访问的页面的编号,而栈底则是最近最久未使用页面的编号,而栈底则是最近最久未使用页面的页面号。面的页面号。 假定有一进程访问的页面号的序列:假定有一进程访问的页面号的序列: 4,7,0,7,1,0,1,2,1,2,6 进程访问时,栈中的变化情况如图:进程访问时,栈中的变化情况如图:6.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.474074704170401741074210741207421074621076.3.2 最近最久未使用最近最久未使用LRU置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一种一种LRU的近似算法的近似算法一、简单的一、简单的Clock置换算法(最近未用置换算法(最近未用算法算法NUR ) 该算法只须为每页设置该算法只须为每页设置 一位访问一位访问位表示是否已使用过,再将内存中的位表示是否已使用过,再将内存中的所有页面都通过链接指针链成一个循所有页面都通过链接指针链成一个循环队列。环队列。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 当某页被访问时,其访问位被置为当某页被访问时,其访问位被置为1。置换算法在选择一页淘汰时,只须检查置换算法在选择一页淘汰时,只须检查其访问位,若是其访问位,若是0,就选择该页换出,就选择该页换出,若为若为1 ,则重新将它复为,则重新将它复为0,暂不换出,暂不换出而给该页第二次驻留内存的机会,再按而给该页第二次驻留内存的机会,再按照照FIFO算法检查下一个页面。当检查算法检查下一个页面。当检查到队列中的最后一个页面时,若其访问到队列中的最后一个页面时,若其访问位仍为位仍为1,则返回队首再去检查第一个,则返回队首再去检查第一个页面。页面。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 该算法:只有一位访问位,表示是否已该算法:只有一位访问位,表示是否已经使用过,置换时是将未使用过的页面换经使用过,置换时是将未使用过的页面换出去,所以,又称为最近未用算法出去,所以,又称为最近未用算法NUR(not used recently),系统周期性地对,系统周期性地对引用位清零。引用位清零。二、改进型二、改进型Clock置换算法置换算法 将一个页面换出时,若该页已被修改将一个页面换出时,若该页已被修改过,则须将它重新写到磁盘上,若未被修过,则须将它重新写到磁盘上,若未被修改过,则不必写回磁盘。改过,则不必写回磁盘。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 改进型改进型Clock算法中,算法中,增加了一个置增加了一个置换代价,利用一个修改位实现之换代价,利用一个修改位实现之。选择。选择换出页面时,既要是最近未访问过的页换出页面时,既要是最近未访问过的页面,又要是未被修改过的页面。面,又要是未被修改过的页面。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.访问位访问位A和修改位和修改位M组合成四种类型的组合成四种类型的页面:页面: 1类类(A=0,M=0)表示该页最近既未被访问、表示该页最近既未被访问、又未被修改,是最佳淘汰页。又未被修改,是最佳淘汰页。 2类类(A=0,M=1)表示该页最近未被访问,表示该页最近未被访问,但已被修改过,并不是很好的淘汰页。但已被修改过,并不是很好的淘汰页。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3类类(A=1,M=0)最近已被访问,但未被最近已被访问,但未被修改过,该页有可能再被访问。修改过,该页有可能再被访问。4类类(A=1,M=1)最近已被访问且被修改,最近已被访问且被修改,有可能会再被访问。有可能会再被访问。 内存中每个页必是其中一类页面,进内存中每个页必是其中一类页面,进行页面置换时,同时检查访问位和修改行页面置换时,同时检查访问位和修改位,执行过程如下:位,执行过程如下:6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)从指针所指示的当前位置开始,从指针所指示的当前位置开始,扫描循环队列,寻找扫描循环队列,寻找A=0且且M=0的的第一类页面,将所遇到的第一类页面,将所遇到的第一个第一个页面作为选中的淘汰页。页面作为选中的淘汰页。 第一次扫描期间不改变访问位第一次扫描期间不改变访问位A。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2)若第一步失败,开始第二轮扫描,寻若第一步失败,开始第二轮扫描,寻找找A=0且且M=1的第二类页面,将所遇到的第二类页面,将所遇到的第一个页面作为淘汰页。的第一个页面作为淘汰页。 第二轮扫描期间,将所有经过的页面第二轮扫描期间,将所有经过的页面的访问位的访问位 置为置为0。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)若第二步也失败,将指针返回到开始若第二步也失败,将指针返回到开始的位置的位置 ,并将所有的访问位复为,并将所有的访问位复为0,然后,重复第一步,若再失败,再重然后,重复第一步,若再失败,再重复第二步,直到找到被淘汰的页。复第二步,直到找到被淘汰的页。6.3.3 Clock置换算法置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、最少使用置换算法一、最少使用置换算法LFU(Least Frequently Used)最不经常使用页面先调度最不经常使用页面先调度算法算法 该算法,为在内存中的每个页面设置一该算法,为在内存中的每个页面设置一移位寄存器,每次访问时,对该页移位寄移位寄存器,每次访问时,对该页移位寄存器的最高位置为存器的最高位置为1,每隔一定时间,每隔一定时间T右移右移一次,用于记录该页面被访问的频率。一次,用于记录该页面被访问的频率。6.3.4 其它置换算法其它置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 置换时,选择在最近时期使用最少的置换时,选择在最近时期使用最少的页面页面(寄存器中各数位上的数字之和的寄存器中各数位上的数字之和的最小值的页面,而不是寄存器中所存储最小值的页面,而不是寄存器中所存储的二进制数值的最小者的二进制数值的最小者)作为淘汰页。作为淘汰页。 问题:问题:T应该多大?应该多大?6.3.4 其它置换算法其它置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、页面缓冲算法二、页面缓冲算法PBA(Page Buffering Algorithm) 该算法采用的该算法采用的可变分配和局部置换可变分配和局部置换方方式,置换算法采用式,置换算法采用FIFO,规定将一个被,规定将一个被淘汰的页放入两个链表中的一个。淘汰的页放入两个链表中的一个。6.3.4 其它置换算法其它置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 即:若页面未被修改,就将它直接放入即:若页面未被修改,就将它直接放入空闲链表中,否则,便放入已修改页面的空闲链表中,否则,便放入已修改页面的链表中。此时,链表中。此时,页面在内存并不做物理上页面在内存并不做物理上的移动的移动,而只是将页表中的表项移到上述,而只是将页表中的表项移到上述两个链表之一中。两个链表之一中。6.3.4 其它置换算法其它置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.空闲页面链表,是一个空闲物理块链空闲页面链表,是一个空闲物理块链表,其中的每个物理块都是空闲的,所表,其中的每个物理块都是空闲的,所以,可装入程序或数据,当需要读入一以,可装入程序或数据,当需要读入一个页面时,利用空闲物理块链表中的第个页面时,利用空闲物理块链表中的第一个物理块来装入该页,当有一个未被一个物理块来装入该页,当有一个未被修改的页需要换出时,实际上并不是将修改的页需要换出时,实际上并不是将它换出内存,而是把它所在的物理块挂它换出内存,而是把它所在的物理块挂在自由页链表的末尾。在自由页链表的末尾。6.3.4 其它置换算法其它置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 置换一个已修改过的页面时,将其所置换一个已修改过的页面时,将其所在的物理块挂在修改页面的链表的末尾。在的物理块挂在修改页面的链表的末尾。 这样,已被修改的页面和未被修改的这样,已被修改的页面和未被修改的页面,都仍留在内存中,以后再访问这些页面,都仍留在内存中,以后再访问这些页面时,花费较小的开销,即可使这些页页面时,花费较小的开销,即可使这些页面返回到该进程的驻留集中。面返回到该进程的驻留集中。 只有当被修改页面达到一定数量时,只有当被修改页面达到一定数量时,再将它们一起写回到磁盘,减少了磁盘再将它们一起写回到磁盘,减少了磁盘I/O的操作次数。的操作次数。6.3.4 其它置换算法其它置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.另外,另外,(1)随机淘汰算法。随机选择某个用户的)随机淘汰算法。随机选择某个用户的页面进行置换。页面进行置换。(2)轮转法,循环换出内存空间中的页,)轮转法,循环换出内存空间中的页,无论该页是否刚被换进或已换进内存很无论该页是否刚被换进或已换进内存很长时间。长时间。6.3.4 其它置换算法其它置换算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.4 其它置换算法其它置换算法影响缺页中断率的因素影响缺页中断率的因素(1)分配给作业的主存块数。成分配给作业的主存块数。成反比。反比。(2)页面的大小。反比。页面的大小。反比。 (3)作业本身的程序编制方法。作业本身的程序编制方法。(4)调度算法。调度算法。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.4 请求分页系统的性能分析请求分页系统的性能分析6.4.1 6.4.1 缺页率对有效访问时间的缺页率对有效访问时间的影响影响6.4.2 6.4.2 工作集工作集6.4.3 6.4.3 抖动产生的原因和预防方抖动产生的原因和预防方法法一、抖动产生的原因一、抖动产生的原因二、抖动的预防二、抖动的预防Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 请求分页系统是目前最常用的一种存储请求分页系统是目前最常用的一种存储管理方式,但其运行中产生的缺页会影响管理方式,但其运行中产生的缺页会影响到系统的性能,而缺页率的高低又直接与到系统的性能,而缺页率的高低又直接与每个进程所占用的物理块数目有关。每个进程所占用的物理块数目有关。 本节主要分析缺页率对系统性能的影响,本节主要分析缺页率对系统性能的影响,及应该为每个进程所分配的物理块数目,及应该为每个进程所分配的物理块数目,把缺页率保持在一个合理的水平。把缺页率保持在一个合理的水平。6.4 请求分页系统的性能分析请求分页系统的性能分析Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 大多数计算机系统,其存储器的访大多数计算机系统,其存储器的访问时间问时间ma(memory access)在在10ns到数到数百百ns之间。若不发生缺页,则系统有之间。若不发生缺页,则系统有效访问时间就等于存储器的访问时间。效访问时间就等于存储器的访问时间。6.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 若发生了缺页,就必须先从磁盘上若发生了缺页,就必须先从磁盘上将该页调入内存,然后才能访问该页将该页调入内存,然后才能访问该页面上的数据。面上的数据。 假定出现缺页的概率为假定出现缺页的概率为p,缺页时,缺页时须先调入该页,则这时,有效访问时须先调入该页,则这时,有效访问时间可表示为:间可表示为: 有效访问时间有效访问时间=(1-p)ma+p缺页中断缺页中断时间时间6.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 缺页中断时间主要由三部分组成:缺页中断时间主要由三部分组成:(1)缺页中断服务时间缺页中断服务时间(2)将缺页读入的时间将缺页读入的时间(3)进程重新执行时间进程重新执行时间6.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一般,一般,(1)和和(3)不超过不超过1ms,缺页,缺页读入内存的时间包括:寻道时间、旋读入内存的时间包括:寻道时间、旋转时间和数据传送时间三部分,一般转时间和数据传送时间三部分,一般有有24ms。可知,缺页中断时间总计约。可知,缺页中断时间总计约25ms。未包括:进程可能等待的时间。未包括:进程可能等待的时间。6.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.可得公式:可得公式:有效访问时间有效访问时间=(1-p)0.1+p25000 =0.1+24999.9p有效访问时间直接比例于缺页率。有效访问时间直接比例于缺页率。6.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.若在若在1000次的页面访问中,只次的页面访问中,只发生一次缺页,即发生一次缺页,即p=0.001,有效,有效访问时间则为访问时间则为25s,若不发生缺页,若不发生缺页时,时,p=0,有效访问时间等于存储,有效访问时间等于存储器的访问时间器的访问时间0.1 s 。6.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 若在发生缺页时,要使有效访问若在发生缺页时,要使有效访问时间延长不超过时间延长不超过10%,则缺页率,则缺页率p: 0.110.1+24999.9p 则则p(0.01/24999.9)=0.00000046.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 即在即在2500000次访问中,才发生次访问中,才发生一次缺页,从中可以看出,必须一次缺页,从中可以看出,必须保持很低的缺页率,才能使有效保持很低的缺页率,才能使有效访问时间不超过访问时间不超过10%,否则,会,否则,会使程序的执行速度受到严重影响。使程序的执行速度受到严重影响。6.4.1 缺页率对有效访问时间的影响缺页率对有效访问时间的影响Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 缺页率,或者缺页的时间间隔与进程缺页率,或者缺页的时间间隔与进程所分得的物理块数目有密切关系。所分得的物理块数目有密切关系。 缺页率随着物理块数目的减少单调地缺页率随着物理块数目的减少单调地递增,并在所分到的物理块数目较少处,递增,并在所分到的物理块数目较少处,出现一个拐点。出现一个拐点。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在拐点下限以左时,再每增加一个物在拐点下限以左时,再每增加一个物理块后都可明显地减少缺页率,过了理块后都可明显地减少缺页率,过了拐点,在下限以右时,每增加一个物拐点,在下限以右时,每增加一个物理块后,对缺页的时间间隔无明显影理块后,对缺页的时间间隔无明显影响,即对缺页率的改善不明显。响,即对缺页率的改善不明显。(这个这个特定点随程序而改变,试验分析表明,特定点随程序而改变,试验分析表明,每个程序来说,要使其有效的工作,每个程序来说,要使其有效的工作,它在主存中的页面数应不低于它的总它在主存中的页面数应不低于它的总页面数的一半。页面数的一半。)6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 一般而言,为进程所分配的物理一般而言,为进程所分配的物理块数,应取在该曲线的拐点左右,若块数,应取在该曲线的拐点左右,若内存空间较充足,所取数目还可略大内存空间较充足,所取数目还可略大些。些。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.缺页率缺页率物理块数物理块数 n上限上限下限下限06.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 形成曲线形状的原因,是由于缺页率的形成曲线形状的原因,是由于缺页率的大小与进程运行时的所谓的工作集有关。大小与进程运行时的所谓的工作集有关。 关于工作集的理论是在关于工作集的理论是在1968年由年由Denning提出并推广的。提出并推广的。Denning认为,程认为,程序在运行时对页面的访问是不均匀的,即序在运行时对页面的访问是不均匀的,即往往在某段时间内的访问仅局限于较少的往往在某段时间内的访问仅局限于较少的若干个页面,而在另一段时间内,又可能若干个页面,而在另一段时间内,又可能仅局限于另一些较少的页面。仅局限于另一些较少的页面。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 若能预知程序在某段时间间隔内要若能预知程序在某段时间间隔内要访问哪些页面,并能将它们提前调入访问哪些页面,并能将它们提前调入内存,将会大大降低缺页率,从而减内存,将会大大降低缺页率,从而减少置换工作,提高少置换工作,提高CPU的利用率。的利用率。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 所谓工作集是指,在某段时间间隔所谓工作集是指,在某段时间间隔内,进程实际要访问的页面的集合。内,进程实际要访问的页面的集合。 Denning认为,为使程序能有效地认为,为使程序能有效地运行,较少地产生缺页,必须使程序运行,较少地产生缺页,必须使程序的工作集全部在内存中,的工作集全部在内存中,利用程序过利用程序过去某段时间内的行为,作为程序在将去某段时间内的行为,作为程序在将来某段时间内的行为的近似。来某段时间内的行为的近似。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 具体地说,是把某进程在时间具体地说,是把某进程在时间t的工作的工作集记为集记为w(t,),把变量,把变量称为工作集称为工作集“窗口尺寸窗口尺寸”(windows size)(系统所分配的系统所分配的物理块数物理块数)。 工作集可形象化的定义为:在时间工作集可形象化的定义为:在时间t- 到到t之间所访问的一串页面之间所访问的一串页面 如图示:某进程访问页面的序列和当如图示:某进程访问页面的序列和当窗口尺寸窗口尺寸分别为分别为3、4、5时的工作集。时的工作集。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.24151823241718241817171524172418引用页序列引用页序列24242415 2415 2415 2418 15 2418 15 2418 15 24 23 18 15 23 18 15 2423 18 15 24 24 23 18 . 17 24 23 17 24 23 1817 24 23 18 15 18 17 24. 15 17 18 15 17 18 24. 24 15 17. 18 24 17.354窗口大小窗口大小6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 工作集工作集w(t,)是二元函数。它与是二元函数。它与时间有关,即在不同时间时间有关,即在不同时间t的工作集的的工作集的大小不同,所包含的页面数也不相同,大小不同,所包含的页面数也不相同,它又与窗口尺寸它又与窗口尺寸有关。有关。 工作集工作集w是窗口尺寸是窗口尺寸的非降函数的非降函数(nondecreasing function)。即:。即: w(t,) w(t,+1)6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 正确选择工作集窗口正确选择工作集窗口的大小,对的大小,对存储器的有效利用和系统的吞吐量的存储器的有效利用和系统的吞吐量的提高,将产生重要的影响。提高,将产生重要的影响。 选择很大,能将一个进程的整个地选择很大,能将一个进程的整个地址空间全部装入内存,不会产生缺页,址空间全部装入内存,不会产生缺页,但存储器不会得以充分地利用。但存储器不会得以充分地利用。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 选择过小,会使进程在运行中频繁选择过小,会使进程在运行中频繁地产生缺页中断,反而,又降低了系地产生缺页中断,反而,又降低了系统的吞吐量。统的吞吐量。 所以,工作集的大小选择要适中,所以,工作集的大小选择要适中,才能保持适当的缺页率。才能保持适当的缺页率。6.4.2 工作集工作集Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 不适当的提高多道程序度,会使不适当的提高多道程序度,会使得在内存中引入过多的进程时,出现得在内存中引入过多的进程时,出现“抖动抖动”现象。现象。一、抖动产生的原因一、抖动产生的原因 请求分页系统中,每个进程只能分请求分页系统中,每个进程只能分配到所需全部内存空间的一部分。配到所需全部内存空间的一部分。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 若进程若进程A在运行过程中需要增加页面,在运行过程中需要增加页面,便会产生中断。便会产生中断。 在采用全局置换策略时,它有可能在采用全局置换策略时,它有可能被分配到一个原属被分配到一个原属B进程的物理块,用进程的物理块,用来装入新调入的页,而来装入新调入的页,而B进程在运行中进程在运行中还需要该物理块,也会产生中断,它又还需要该物理块,也会产生中断,它又有可能会被分配到有可能会被分配到C进程的一个物理块。进程的一个物理块。 以此类推。而产生缺页中断的进程以此类推。而产生缺页中断的进程会一直处于等待状态,从而会导致就绪会一直处于等待状态,从而会导致就绪队列空。队列空。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.而此时,调度程序一旦发现而此时,调度程序一旦发现CPU空空闲,又会引入新的进程参加运行,新闲,又会引入新的进程参加运行,新进程进入内存时,又进一步加剧了进进程进入内存时,又进一步加剧了进程的缺页情况,等待页面调入程的缺页情况,等待页面调入/调出的调出的进程数目随之增加,使进程数目随之增加,使CPU的利用率的利用率进一步下降,调度程序又去引入新的进一步下降,调度程序又去引入新的进程,如此恶性循环,使缺页率急剧进程,如此恶性循环,使缺页率急剧上升,有效访问时间也急剧增加。上升,有效访问时间也急剧增加。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 运行进程的大部分时间都用于进行运行进程的大部分时间都用于进行页面的换入页面的换入/换出,几乎不能完成任何换出,几乎不能完成任何有效的工作,这时的进程我们称处于有效的工作,这时的进程我们称处于“抖动抖动”状态。状态。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. CPU的利用率,在开始阶段,随着的利用率,在开始阶段,随着程序度的提高,会随之提高,并在随程序度的提高,会随之提高,并在随后达到某一峰值,以后若继续增加多后达到某一峰值,以后若继续增加多道程序度,就会产生抖动,从而导致道程序度,就会产生抖动,从而导致CPU的利用率急剧下降。的利用率急剧下降。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.多道程序度多道程序度CPUCPU利用率利用率6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、抖动的预防二、抖动的预防 有多种方法可防止抖动的产生和扩有多种方法可防止抖动的产生和扩展,展,通过调节多道程序度实现通过调节多道程序度实现。1、采取局部置换策略、采取局部置换策略 系统在采取可变分配方式的同时,系统在采取可变分配方式的同时,又采取局部置换策略。又采取局部置换策略。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 当某进程发现缺页时,仅在自己的当某进程发现缺页时,仅在自己的内存空间范围内置换页面,不允许从内存空间范围内置换页面,不允许从其它进程获得新的物理块,即使有某其它进程获得新的物理块,即使有某个进程发生了抖动,也不会导致其它个进程发生了抖动,也不会导致其它进程也产生抖动。进程也产生抖动。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 这种方法,不能从根本上防止抖动这种方法,不能从根本上防止抖动的产生,而在某进程发生抖动后,会的产生,而在某进程发生抖动后,会长期地处于磁盘长期地处于磁盘I/O的等待队列中,的等待队列中,又会使其它进程缺页中断的处理时间又会使其它进程缺页中断的处理时间增长,从而延长了有效的访问时间。增长,从而延长了有效的访问时间。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、在、在CPU调度程序中引入工作集算法调度程序中引入工作集算法 引入工作集算法,在调度程序从外引入工作集算法,在调度程序从外存上调入作业之前,还必须检查每个存上调入作业之前,还必须检查每个进程在内存的驻留集是否足够大。足进程在内存的驻留集是否足够大。足够大时,才能从外存上调入新的作业。够大时,才能从外存上调入新的作业。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3、L=S准则准则 Denning于于1980年提出的,用来年提出的,用来调整多道程序度,使产生缺页的平均调整多道程序度,使产生缺页的平均时间时间L等于系统处理进程缺页的平均等于系统处理进程缺页的平均时间时间S。实践证明,此时的。实践证明,此时的CPU利用利用得最好。得最好。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4、挂起若干进程、挂起若干进程 被挂起的进程一般是选择优先权被挂起的进程一般是选择优先权最低或较低的,或选择一个不很重要,最低或较低的,或选择一个不很重要,但又比较大的进程,或将具有最多剩但又比较大的进程,或将具有最多剩余执行时间的进程挂起。余执行时间的进程挂起。6.4.3 抖动产生的原因和预防方法抖动产生的原因和预防方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.5请求分段存储管理方式请求分段存储管理方式6.5.1 6.5.1 请求分段中的硬请求分段中的硬件支持件支持一、段表机制一、段表机制二、缺段中断机构二、缺段中断机构三、地址变换机构三、地址变换机构6.5.2 6.5.2 分段共享与保护分段共享与保护一、共享段表一、共享段表二、共享段的分配与回二、共享段的分配与回收收三、分段保护三、分段保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 分页系统基础上建立的虚拟存储器,分页系统基础上建立的虚拟存储器,是以页面为单位进行换入、换出的。是以页面为单位进行换入、换出的。 分段系统基础上实现的虚拟存储器,分段系统基础上实现的虚拟存储器,是以分段为单位进行换入、换出的。是以分段为单位进行换入、换出的。6.5请求分段存储管理方式请求分段存储管理方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 请求分段系统中,程序运行之前只请求分段系统中,程序运行之前只调入若干个分段,便可启动运行,当调入若干个分段,便可启动运行,当所访问的段不在内存时可请求所访问的段不在内存时可请求OS将所将所缺的段调入内存。缺的段调入内存。6.5请求分段存储管理方式请求分段存储管理方式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.为快速完成请求分段功能,须配置多种硬件为快速完成请求分段功能,须配置多种硬件机构。机构。一、段表机制一、段表机制 请求分段式管理中所需的主要数据结请求分段式管理中所需的主要数据结构是段表,由若干段表项构成。构是段表,由若干段表项构成。 其中:包括段名其中:包括段名(号号)、段长、段在内存、段长、段在内存的起始地址,及如下项:的起始地址,及如下项:段名段长段的基址存取方式访问字段A修改字段M存在位P增补位外存起址6.5.1 请求分段中的硬件支持请求分段中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)存取方式,标识本段的存取属性是只存取方式,标识本段的存取属性是只执行、只读,还是允许读执行、只读,还是允许读/写。写。(2)访问字段访问字段A。用于记录该段被访问的。用于记录该段被访问的频繁程度频繁程度(3)修改位修改位M。用于表示该页进入内存后,。用于表示该页进入内存后,是否被修改过是否被修改过6.5.1 请求分段中的硬件支持请求分段中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(4)存在位存在位p,指示字段是否调入内存,指示字段是否调入内存(5)增补位。用于表示本段在运行过程中,增补位。用于表示本段在运行过程中,是否进行过动态增长是否进行过动态增长(6)外存始址。指示本段在外存中的起始外存始址。指示本段在外存中的起始地址,即起始盘块号。地址,即起始盘块号。6.5.1 请求分段中的硬件支持请求分段中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、缺段中断机构二、缺段中断机构 请求分段系统中,采用的是请求调段请求分段系统中,采用的是请求调段策略。策略。 即每当进程所要访问的段尚未调入内即每当进程所要访问的段尚未调入内存时,由缺段中断机构产生一缺段中断存时,由缺段中断机构产生一缺段中断信号,进入信号,进入OS后由缺段中断处理程序将后由缺段中断处理程序将所需的段调入内存。所需的段调入内存。6.5.1 请求分段中的硬件支持请求分段中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 缺段中断机构,需要在一条指令的缺段中断机构,需要在一条指令的执行期间,产生和处理中断,以及在执行期间,产生和处理中断,以及在一条指令执行期间可能产生多次缺段一条指令执行期间可能产生多次缺段中断。中断。 由于分段是信息的逻辑单位,不可由于分段是信息的逻辑单位,不可能出现一条指令被分割在两个分段的能出现一条指令被分割在两个分段的情况,也不会有被传送的一组信息被情况,也不会有被传送的一组信息被分割在两个分段的情况。缺段中断的分割在两个分段的情况。缺段中断的处理过程如图:处理过程如图:6.5.1 请求分段中的硬件支持请求分段中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.三、地址变换机构三、地址变换机构 请求分段系统中的地址机构,请求分段系统中的地址机构, 是在分段是在分段系统地址机构的基础上形成的。因为被访问系统地址机构的基础上形成的。因为被访问的段并非全在内存中,因而在地址变换时,的段并非全在内存中,因而在地址变换时,若发现所要访问的段不在内存时,必须先将若发现所要访问的段不在内存时,必须先将所缺的段调入内存,并修改了段表之后,才所缺的段调入内存,并修改了段表之后,才能利用段表进行地址变换。能利用段表进行地址变换。 地址变换过程如图示:地址变换过程如图示:6.5.1 请求分段中的硬件支持请求分段中的硬件支持Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 实现分段共享的方法,是在每个进实现分段共享的方法,是在每个进程的段表中,用相应的表项指向共享程的段表中,用相应的表项指向共享段在内存的起始地址即可,但还应配段在内存的起始地址即可,但还应配置相应的数据结构置相应的数据结构-共享段表共享段表,及如,及如何对共享段进行操作。何对共享段进行操作。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、共享段表一、共享段表 为实现分段共享,在系统中配置一为实现分段共享,在系统中配置一张共享段表,所有各共享段都在共享段张共享段表,所有各共享段都在共享段表中占有一表项,其中记录了共享段的表中占有一表项,其中记录了共享段的段号和段长、内存始址、存在位等信息,段号和段长、内存始址、存在位等信息,并记录有共享此分段的每个进程的情况。并记录有共享此分段的每个进程的情况。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.1、共享进程计数、共享进程计数count 非共享段仅为一个进程所需要。当进非共享段仅为一个进程所需要。当进程不需要该段时,可立即释放该段,并程不需要该段时,可立即释放该段,并由系统回收该段所占用的空间。由系统回收该段所占用的空间。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 共享段为多个进程所需要,当某进程不共享段为多个进程所需要,当某进程不再需要而释放它时,系统并不回收该段所再需要而释放它时,系统并不回收该段所占内存区。占内存区。 为记录有多少个进程需要共享该分段,为记录有多少个进程需要共享该分段,特设置了一个整型变量特设置了一个整型变量count。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、存取控制字段、存取控制字段 对一个共享段,不同的进程有不同对一个共享段,不同的进程有不同的存取权限。的存取权限。3、段号、段号 对同一个共享段,不同的进程可使对同一个共享段,不同的进程可使用不同的段号去共享该段。用不同的段号去共享该段。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、共享段的分配与回收二、共享段的分配与回收1、共享段的分配、共享段的分配 对共享段的内存分配方法与非共对共享段的内存分配方法与非共享段的内存分配方法不同。享段的内存分配方法不同。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在分配共享段的内存时,对第一个请求在分配共享段的内存时,对第一个请求使用该共享段的进程,由系统为该共享段使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同分配一物理区,再把共享段调入该区,同时将该区的始址填入该进程的段表的相应时将该区的始址填入该进程的段表的相应项中,还须在共享段表中增加一表项,填项中,还须在共享段表中增加一表项,填写有关数据,把写有关数据,把count置为置为1。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 然后,当又有其它进程要调用该共享然后,当又有其它进程要调用该共享段时,由于该共享段已被调入内存,无需段时,由于该共享段已被调入内存,无需再为它分配内存,只需在调用进程的段表再为它分配内存,只需在调用进程的段表中,增加一表项,填入该共享段的物理地中,增加一表项,填入该共享段的物理地址,在共享段的段表中,填上调用进程名,址,在共享段的段表中,填上调用进程名,存取控制等,再执行存取控制等,再执行count=1+count即可。即可。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、共享段的回收、共享段的回收 当共享段的某进程不再需要它时,要当共享段的某进程不再需要它时,要将该段释放,包括:取消在该进程段表将该段释放,包括:取消在该进程段表中共享段所对应的表项,执行中共享段所对应的表项,执行count:=count-1,若,若count为为0,由系统回,由系统回收该共享段的物理内存,取消在共享段收该共享段的物理内存,取消在共享段表中该段所对应的表项,若表中该段所对应的表项,若count为非零,为非零,只取消调用者进程在共享段表中的有关只取消调用者进程在共享段表中的有关记录。记录。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.三、分段保护三、分段保护1、越界检查、越界检查 段表寄存器中放有段表长度,在段表中段表寄存器中放有段表长度,在段表中也为每个段设置有段长字段。在进行存储也为每个段设置有段长字段。在进行存储访问时,首先,将逻辑地址空间的段号与访问时,首先,将逻辑地址空间的段号与段表长度进行比较,若段号等于或大于段段表长度进行比较,若段号等于或大于段表长度,将会发出地址越界中断信号,其表长度,将会发出地址越界中断信号,其次,还要检查段内地址是否等于或大于段次,还要检查段内地址是否等于或大于段长,若大于,将产生越界中断信号,从而长,若大于,将产生越界中断信号,从而保证了每个进程只能在自己的地址空间内保证了每个进程只能在自己的地址空间内运行。运行。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、存取控制检查、存取控制检查 段表的每个表项中,都设置了一个段表的每个表项中,都设置了一个“存取控制存取控制”字段,用于规定对该段的访字段,用于规定对该段的访问方式:问方式:(1)只读。只允许程序对该段中的程序或数只读。只允许程序对该段中的程序或数据进行读访问。据进行读访问。(2)只执行。只允许程序调用该段去执行,只执行。只允许程序调用该段去执行,不准读该段的内容,也不允许写不准读该段的内容,也不允许写(3)读读/写。允许程序对该段进行读写访问。写。允许程序对该段进行读写访问。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3、环保护机构、环保护机构 这是一种功能较完善的保护机制。这是一种功能较完善的保护机制。规定:低编号的环具有高优先权,规定:低编号的环具有高优先权,OS处于处于0环内,某些重要的实用程序和操环内,某些重要的实用程序和操作系统服务,占居中间环,一般的应作系统服务,占居中间环,一般的应用程序,被安排在外环上。用程序,被安排在外环上。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.环系统中,程序的访问和调用遵循以下准环系统中,程序的访问和调用遵循以下准则:则:(1)一个程序可以访问驻留在相同环或较一个程序可以访问驻留在相同环或较低特权环中的数据低特权环中的数据(2)一个程序可以调用驻留在相同或较高一个程序可以调用驻留在相同或较高特权环中的服务。特权环中的服务。6.5.2 分段共享与保护分段共享与保护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.5.2 分段共享与保护分段共享与保护四空间模型:四空间模型:进程逻辑空间:程序逻辑空间、虚地址空进程逻辑空间:程序逻辑空间、虚地址空间。是指一个程序执行时由间。是指一个程序执行时由CPU几几MMU发出的所有地址所构成的地址空间。进发出的所有地址所构成的地址空间。进程逻辑空间的编址方式:一维连续编址程逻辑空间的编址方式:一维连续编址(单一分区、固定和可变分区、非稀疏(单一分区、固定和可变分区、非稀疏编址页式)、二维编址(段式和段页式)编址页式)、二维编址(段式和段页式)、一维稀疏编址(稀疏编址页式)和重、一维稀疏编址(稀疏编址页式)和重叠编址(覆盖)共四种。叠编址(覆盖)共四种。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.5.2 分段共享与保护分段共享与保护进程物理空间:是指该程序在内存存进程物理空间:是指该程序在内存存放所占据的所有实际物理地址构成的地放所占据的所有实际物理地址构成的地址空间。连续分配与否是从进程物理空址空间。连续分配与否是从进程物理空间角度提出的。间角度提出的。一个进程的进程逻辑空间比进程物理一个进程的进程逻辑空间比进程物理空间大时则为虚存,小时则存在碎片。空间大时则为虚存,小时则存在碎片。不连续分配技术是相对于进程物理空不连续分配技术是相对于进程物理空间的连续性而言的。间的连续性而言的。虚存技术是相对于进程逻辑空间与进虚存技术是相对于进程逻辑空间与进程物理空间的大小关系而言的。虚存一程物理空间的大小关系而言的。虚存一定不连续。定不连续。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.5.2 分段共享与保护分段共享与保护内存逻辑空间:由所有进程逻辑空内存逻辑空间:由所有进程逻辑空间各加上进程号组成。编址方式是进间各加上进程号组成。编址方式是进程号加上进程逻辑地址。内存逻辑空程号加上进程逻辑地址。内存逻辑空间的大小是各进程逻辑空间的大小的间的大小是各进程逻辑空间的大小的总和。总和。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.5.2 分段共享与保护分段共享与保护内存物理空间:实际内存物理空间。内存物理空间:实际内存物理空间。交换技术是相对于内存逻辑空间与内存交换技术是相对于内存逻辑空间与内存物理空间的大小关系而言的。物理空间的大小关系而言的。单任务和多任务是相对于内存逻辑空间单任务和多任务是相对于内存逻辑空间和进程逻辑空间的数量对应关系而言和进程逻辑空间的数量对应关系而言的。的。单道和多道是相对于内存物理空间与进单道和多道是相对于内存物理空间与进程物理空间的数量对应关系而言的。程物理空间的数量对应关系而言的。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.总总 结结考核要点考核要点:逻辑地址,物理地址,地:逻辑地址,物理地址,地址重定位,虚拟存储器,固定分区存址重定位,虚拟存储器,固定分区存储管理,动态分区存储管理,分页存储管理,动态分区存储管理,分页存储管理和请求分页存储管理,分段存储管理和请求分页存储管理,分段存储管理及请求分段存储管理,段页式储管理及请求分段存储管理,段页式存储管理,页面置换算法。存储管理,页面置换算法。本章基础要点本章基础要点:1、重定位是指由于一个作业装入到与、重定位是指由于一个作业装入到与其地址空间不一致的存储空间所引起其地址空间不一致的存储空间所引起的对有关地址部分的调整过程。的对有关地址部分的调整过程。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、实现虚拟存储器的目的是从逻辑上、实现虚拟存储器的目的是从逻辑上扩充主存容量。扩充主存容量。3、虚存的基础是局部性理论,其基本、虚存的基础是局部性理论,其基本含义是指令的局部性。含义是指令的局部性。4、重定位的方式有两种:静态重定位、重定位的方式有两种:静态重定位和动态重定位。和动态重定位。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.5、动态重定位的特点是由硬件实现,、动态重定位的特点是由硬件实现,在运行过程中进行地址变换。在运行过程中进行地址变换。6、若计算机、若计算机CPU给出的有效地址长度给出的有效地址长度为为32位,内存为位,内存为32MB,则该机的存储,则该机的存储空间为空间为32MB,作业的地址空间为,作业的地址空间为232B。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.7、把作业装入内存时随即进行地址变换的方、把作业装入内存时随即进行地址变换的方式称为静态重定位,而在作业执行期间,当式称为静态重定位,而在作业执行期间,当访问到指令或数据时才进行地址变换的方式访问到指令或数据时才进行地址变换的方式称为动态重定位。称为动态重定位。8、在虚存管理中,虚拟地址空间是指逻辑地、在虚存管理中,虚拟地址空间是指逻辑地址空间,实地址空间是指物理地址空间;前址空间,实地址空间是指物理地址空间;前者的大小只受机器的地址长度限制,而后者者的大小只受机器的地址长度限制,而后者的大小受物理内存大小限制。的大小受物理内存大小限制。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.9、用户程序中的地址称为逻辑地址,、用户程序中的地址称为逻辑地址,逻辑地址的集合称为地址空间,内存中逻辑地址的集合称为地址空间,内存中的地址称为物理地址,物理地址的集合的地址称为物理地址,物理地址的集合称为存储空间。称为存储空间。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.10、在动态分区分配算法中,首次适、在动态分区分配算法中,首次适应算法倾向于优先利用内存中的低地应算法倾向于优先利用内存中的低地址部分的空间分区,从而保留了高地址部分的空间分区,从而保留了高地址部分的大空闲区。址部分的大空闲区。11、在分区存储管理中的移动技术可、在分区存储管理中的移动技术可以集中空闲分区。以集中空闲分区。12、在可变分区存储管理中,分区的、在可变分区存储管理中,分区的保护通常采用界限寄存器和存储保护保护通常采用界限寄存器和存储保护键两种方式。键两种方式。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.13、最佳适应算法是将作业放置到与它、最佳适应算法是将作业放置到与它大小最接近且能满足其大小要求的空闲大小最接近且能满足其大小要求的空闲分区中。分区中。14、在固定分区技术中,每个分区的大、在固定分区技术中,每个分区的大小可以不同但预先固定。小可以不同但预先固定。15、最佳适应算法的空白区是按大小递、最佳适应算法的空白区是按大小递增顺序连在一起。增顺序连在一起。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.16、在某系统中采用基址、限长寄存器、在某系统中采用基址、限长寄存器的方法来保护存储信息,判断是否越界的方法来保护存储信息,判断是否越界的判别式为的判别式为0被访问的逻辑地址限被访问的逻辑地址限长寄存器的内容。长寄存器的内容。17、首次适应算法的空白区是按地址递、首次适应算法的空白区是按地址递增顺序连在一起。增顺序连在一起。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.18、分区存储管理方案不能实现虚存的、分区存储管理方案不能实现虚存的原因是作业对存储空间的连续性要求。原因是作业对存储空间的连续性要求。19、碎片(也可称为零头)是指内存中、碎片(也可称为零头)是指内存中无法被利用的存储空间。无法被利用的存储空间。20、在存储管理中,采用覆盖与交换技、在存储管理中,采用覆盖与交换技术的目的是节省主存空间。术的目的是节省主存空间。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.21、采用交换技术获得的好处是以牺牲、采用交换技术获得的好处是以牺牲CPU时间为代价的。时间为代价的。22、设有、设有8页的逻辑空间,每页有页的逻辑空间,每页有1024字字节,它们被映射到节,它们被映射到32块的物理存储区中。块的物理存储区中。那么,逻辑地址的有效位是那么,逻辑地址的有效位是13位,物理位,物理地址至少地址至少15位。位。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.23、很好地解决了碎片问题的存储管理、很好地解决了碎片问题的存储管理方法是分页存储管理方法。方法是分页存储管理方法。24、分页存储管理系统中存在内零头。、分页存储管理系统中存在内零头。25、在分页存储管理系统中,程序员编、在分页存储管理系统中,程序员编制的程序,其地址空间是连续的,分页制的程序,其地址空间是连续的,分页是由系统完成的。是由系统完成的。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.26、在请求页式系统中,、在请求页式系统中,OPT是最佳置是最佳置换算法,换算法,LRU是最近最久未使用置换算是最近最久未使用置换算法,法,NRU是最近未使用置换算法,是最近未使用置换算法,LFU是最不经常使用置换算法。是最不经常使用置换算法。27、作业在执行中发生了缺页中断,经、作业在执行中发生了缺页中断,经OS处理后,应让其执行被中断的指令。处理后,应让其执行被中断的指令。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.28、页式虚拟存储管理的主要特点是不要求将、页式虚拟存储管理的主要特点是不要求将作业同时全部装入到主存的连续区域。作业同时全部装入到主存的连续区域。29、在请求分页存储管理中,若采用、在请求分页存储管理中,若采用FIFO页页面淘汰算法,则当分配的页面数增加时,缺页面淘汰算法,则当分配的页面数增加时,缺页中断的次数可能增加,也可能减少。中断的次数可能增加,也可能减少。30、在采用请求分页存储管理的系统中,地址、在采用请求分页存储管理的系统中,地址变换过程可能会因为缺页、地址越界和访问权变换过程可能会因为缺页、地址越界和访问权限错误等原因而产生中断。限错误等原因而产生中断。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.31、若页面置换算法选择不当,可引起系统、若页面置换算法选择不当,可引起系统抖动。抖动。32、动态分页存储管理系统中的页表项比静、动态分页存储管理系统中的页表项比静态页式系统中的页表项增加了状态位、修改态页式系统中的页表项增加了状态位、修改位、访问字段和外存地址,决定淘汰页是否位、访问字段和外存地址,决定淘汰页是否写回外存的页表项是修改位。写回外存的页表项是修改位。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.33、采用段式存储管理的系统中,若地址用、采用段式存储管理的系统中,若地址用24位表示,其中位表示,其中8位表示段号,则允许每段的最位表示段号,则允许每段的最大长度是大长度是216B。34、在段页式存储管理中,是将作业分段,段、在段页式存储管理中,是将作业分段,段内分页。分配以页为单位。在不考虑使用联想内分页。分配以页为单位。在不考虑使用联想寄存器的情况下,每条访问内存的指令需要寄存器的情况下,每条访问内存的指令需要3次访问内存。其中第次访问内存。其中第2次是查作业的页表。次是查作业的页表。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.35、如果一个程序为多个进程所共享,、如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能那么该程序的代码在执行的过程中不能被修改,即程序应该是可重入码。被修改,即程序应该是可重入码。36、请求分段式虚拟存储系统必须至少、请求分段式虚拟存储系统必须至少具有三种支持机构:即段表、缺段中断具有三种支持机构:即段表、缺段中断机构和地址变换机构。机构和地址变换机构。总总 结结Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.作作 业业一、一、(华师大华师大2002年试题年试题) 主存替换策略计算题主存替换策略计算题(5分分) 某一进程在页式虚存中的执行程序的页面走向是某一进程在页式虚存中的执行程序的页面走向是2 3 2 1 5 2 4 5 3 2 5 2,若系统分配给它的帧数为,若系统分配给它的帧数为3页,并采页,并采用局部淘汰策略。用局部淘汰策略。要求:分别计算出采用先进先出要求:分别计算出采用先进先出FIFO替换策略、最近最替换策略、最近最少使用少使用LRU替换策略时所缺的页及其次数。替换策略时所缺的页及其次数。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、在虚拟页式存储管理中,为解二、在虚拟页式存储管理中,为解决抖动问题,可采用工作集模型决抖动问题,可采用工作集模型以决定分给进程的物理块数,有以决定分给进程的物理块数,有如下页面访问序列:如下页面访问序列:2 5 1 6 3 3 7 8 9 1 6 2 3 4 3 4 3 4 4 4 3 4 4 3 窗口尺寸窗口尺寸=9,试求,试求t1 、t2时刻的工作时刻的工作集集t1t2作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.解:一个进程在时间解:一个进程在时间t的工作集可形式化地的工作集可形式化地定义为:定义为: W(t,h)=在时间在时间t-h到到t之间所访问的一串页之间所访问的一串页面面 其中,其中,h 为工作集窗口尺寸。为工作集窗口尺寸。 由题目所给条件知,由题目所给条件知,t1时刻的工作集为:时刻的工作集为:1,2,3,6,7,8,9 t2时刻的工作集为:时刻的工作集为:3,4作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.三、在一个请求分页存储管理系统中,一个作业的页三、在一个请求分页存储管理系统中,一个作业的页面走向为面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该,当分配给该作业的物理块数分别为作业的物理块数分别为3,4时,试计算采用下述页面淘时,试计算采用下述页面淘汰算法时的缺页率汰算法时的缺页率(假设开始执行时主存中没有页面假设开始执行时主存中没有页面),并比较所得结果。,并比较所得结果。(1)最佳置换淘汰算法。最佳置换淘汰算法。7/12,6/12(2)先进先出淘汰算法。先进先出淘汰算法。9/12,10/12(3)最近最久未使用淘汰算法。最近最久未使用淘汰算法。10/12,8/12作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.四、四、(北京大学北京大学1993年试题年试题)有一矩阵有一矩阵 Var A:array1.100,1.100 of integer; 按先行后列次序存储。按先行后列次序存储。 在一虚存系统中,采用在一虚存系统中,采用LRU淘汰算法,一个进淘汰算法,一个进程有程有3页内存空间,每页可以存放页内存空间,每页可以存放200一个整数,其一个整数,其中第中第1页存放程序,且假定程序已在内存。页存放程序,且假定程序已在内存。作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.程序程序A: for i:=1 to 100 do for j:=1 to 100 do ai,j:=0;程序程序B: for j:=1 to 100 do for i:=1 to 100 do ai,j:=0;分别就程序分别就程序A和和B的执行过程计算缺页次数。的执行过程计算缺页次数。作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.五、五、(中国科学软件研究所中国科学软件研究所1999年试题年试题)在在一个请求分页系统中,假定系统分配给一一个请求分页系统中,假定系统分配给一个作业的物理块数为个作业的物理块数为3,并且此作业的页面,并且此作业的页面走向为走向为2,3,2,1,5,2,4,5,3,2,5,2。试用。试用FIFO和和LRU两种算法分别计算出程序访问两种算法分别计算出程序访问过程中所发生的缺页次数。过程中所发生的缺页次数。作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.六、六、(华中理工大学华中理工大学1996年试题年试题)某系统采用某系统采用请求分页存储管理方式,系统为每个作业分请求分页存储管理方式,系统为每个作业分配三个内存块,设作业进程运行中所访问的配三个内存块,设作业进程运行中所访问的信息的页号依次为:信息的页号依次为:1 3 4 1 5 2 1 4 试问:试问:作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.1、该作业进程运行中,在先进先出置换算、该作业进程运行中,在先进先出置换算法下,将发生多次缺页中断?要求说明产生法下,将发生多次缺页中断?要求说明产生每一个缺页中断的原因,并写出内存中页面每一个缺页中断的原因,并写出内存中页面在置换前后的情况。在置换前后的情况。(6分分)2、若采用最久未使用的置换算法,同样回、若采用最久未使用的置换算法,同样回答上述问题。答上述问题。(6分分)作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.七、七、(华中理工大学华中理工大学1997年试题年试题)用如下图所示的硬用如下图所示的硬件机构来完成请求分页存储管理,在需要时,从件机构来完成请求分页存储管理,在需要时,从M2中取出页面送入中取出页面送入M1中,令作业访问页面的踪迹为:中,令作业访问页面的踪迹为: p=abcaxa 问:采用先进先出页面置换算法问:采用先进先出页面置换算法(5次次)和和LRU页页面置换算法面置换算法(4次次)时,发生缺页中断次数分别是多时,发生缺页中断次数分别是多少?并作简要说明。少?并作简要说明。(12分分 )作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.CPU3块块内存内存M1abcdtxvz外存外存M2作作 业业Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练练 习习1、什么是动态链接?用何种内存分配、什么是动态链接?用何种内存分配方法可以实现这种链接技术?方法可以实现这种链接技术?2、在内存管理中,在内存管理中,“内零头内零头”和和“外外零头零头”各指的是什么?在固定式分区各指的是什么?在固定式分区分配、可变式分区分配、页式虚拟存分配、可变式分区分配、页式虚拟存储系统、段式虚拟存储系统中,各会储系统、段式虚拟存储系统中,各会存在何种零头?存在何种零头?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3、有一个矩阵为有一个矩阵为100200列。即列。即 int a100200; 在一个虚存系统中,采用在一个虚存系统中,采用LRU算法。系统分给算法。系统分给该进程该进程5个页面来存储数据个页面来存储数据(不包含程序不包含程序),设每页,设每页可存放可存放200个整数,该程序要对整个数组初始化,个整数,该程序要对整个数组初始化,数组存储时是按行存放的。试计算下列两个程序各数组存储时是按行存放的。试计算下列两个程序各自的缺页次数自的缺页次数(假定所有页都以请求方式调入假定所有页都以请求方式调入):练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.程序一、程序一、for(i=0;i=99;i+) for(j=0;j=199;j+) aij=i*j;程序二、程序二、 for(j=0;j=199;j+) for(i=0;im),对于,对于FIFO、LRU两种页面置换算法,两种页面置换算法,试给出页故障数的上限和下限,说明试给出页故障数的上限和下限,说明理由,并举例说明。理由,并举例说明。练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6、假定某页式管理系统,主存为、假定某页式管理系统,主存为64KB,分成,分成16块,块,块号为块号为0,1,2,3,4,15。设某作业有。设某作业有4页,其页页,其页号为号为0,1,2,3,被分别装入主存的,被分别装入主存的2、4、1、6块。试块。试问:问:(1)该作业的总长度是多少字节?该作业的总长度是多少字节?(按十进制按十进制)(2)写出该作业每一页在主存中的起始地址。写出该作业每一页在主存中的起始地址。(3)若多个逻辑地址若多个逻辑地址0,100、1,50、2,0、3,60,试计算出相应的内存地址。,试计算出相应的内存地址。(方括号内的第方括号内的第一个元素为页号,第二个元素为页内位移一个元素为页号,第二个元素为页内位移)练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.7、在某段式存储管理系统中,有一作、在某段式存储管理系统中,有一作业的段表如表所示,求逻辑地址业的段表如表所示,求逻辑地址0,65、1,55、2,90、3,20对对应的主存地址应的主存地址(按十进制按十进制)。(其中方括其中方括号中的第一个元素为段号,第二个元号中的第一个元素为段号,第二个元素为段内位移。素为段内位移。)练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.段号段长主存起始地址状态01232005010015060085010000001练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.8、在请求分页管理系统中,一个作业、在请求分页管理系统中,一个作业要依次访问如下页面:要依次访问如下页面:3、4、2、1、4、3、1、4、3、1、4、5,并采用,并采用LRU页页面置换算法。设分给该作业的存储块面置换算法。设分给该作业的存储块数为数为3,试求出在访问过程中发生缺页,试求出在访问过程中发生缺页中断的次数及缺页率。中断的次数及缺页率。练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.9、某一存储管理系统采用可变分区分配方、某一存储管理系统采用可变分区分配方案,设当前内存的空白区案,设当前内存的空白区(即空闲分区即空闲分区)表如表如表所示。表所示。空白区号 起始地址空白区容量 状态12345KB120KB310KB1024KB100KB20KB256KB48KB可用可用可用可用练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 现有五个作业现有五个作业J1、J2、J3、J4、J5,它们分别需要内存,它们分别需要内存20KB、42KB、120KB、130KB、18KB的空间,若采用最的空间,若采用最先适应算法,以怎样的次序可将这五个作先适应算法,以怎样的次序可将这五个作业都装入内存,并给出装入后的空白区表。业都装入内存,并给出装入后的空白区表。练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.10、现有一请求调页系统,其页表保存在寄现有一请求调页系统,其页表保存在寄存器中。若有一个可用的空页或被替换的页存器中。若有一个可用的空页或被替换的页未被修改,则它处理一个缺页中断需要未被修改,则它处理一个缺页中断需要8ms。若被替换页已被修改,则处理一个缺页中断若被替换页已被修改,则处理一个缺页中断需要需要20ms。内存存取时间为。内存存取时间为1us。假定。假定70%被替换页被修改过,为保证有效存取时间不被替换页被修改过,为保证有效存取时间不超过超过2us,可接受的最大缺页中断率是多少,可接受的最大缺页中断率是多少?练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.11、在某系统中,采用固定分区存储管理、在某系统中,采用固定分区存储管理方式,内存分区方式,内存分区(单位字节单位字节)情况如图所示。情况如图所示。现有大小为现有大小为15KB、53KB、110KB的多个的多个作业要求进入内存,试画出它们进入内存作业要求进入内存,试画出它们进入内存后的空间分配情况,并说明主存浪费有多后的空间分配情况,并说明主存浪费有多大?大?练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.操作系统040KB70KB180KB512KB-1第一分区第二分区第三分区某系统内存分区情况某系统内存分区情况Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.12、在可变式分区分配的存储管理方案、在可变式分区分配的存储管理方案中,存储分配算法有哪几种?它们的思中,存储分配算法有哪几种?它们的思想是什么?想是什么?13、简述什么是覆盖?什么是交换?覆、简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?盖和交换的区别是什么?练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.14、某请求分页管理系统,用户编程空间有、某请求分页管理系统,用户编程空间有40个页面,每个个页面,每个200H个字节,假定某时刻用户个字节,假定某时刻用户页表中虚页号和物理块号对照表如表所示:页表中虚页号和物理块号对照表如表所示:虚页号0251720物理块号52081436练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.15、在某个采用页式存储管理的系统中,现有、在某个采用页式存储管理的系统中,现有J1、J2和和J3共共3个作业同驻主存。其中个作业同驻主存。其中J2有有4个个页面,被分别装入到主存的第页面,被分别装入到主存的第3、4、6、8块中。块中。假定页面和存储块的大小均为假定页面和存储块的大小均为1024B,主存容,主存容量为量为10KB。(1)写出写出J2的页面映象表。的页面映象表。(2)当当J2在在CPU上运行时,执行到其地址空间上运行时,执行到其地址空间第第500号处遇到一条传送指令号处遇到一条传送指令 MOV 2100,3100 请你用地址变换图计算出请你用地址变换图计算出MOV指令中两指令中两个操作数的物理地址。个操作数的物理地址。练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.16、在一个请求页式存储管理系统中,进、在一个请求页式存储管理系统中,进程程P共有共有5页。访问串为:页。访问串为:3,2,1,0,3,2,4,3,2,1,0,4时,试采用时,试采用LRU置换算法,置换算法,计算当分配给该进程的页面分别为计算当分配给该进程的页面分别为3和和4时,时,访问过程中发生的缺页次数和缺页率,比访问过程中发生的缺页次数和缺页率,比较所得的结果,浅析原因。较所得的结果,浅析原因。练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.17、已知主存有、已知主存有256KB容量,其中操作系统容量,其中操作系统占用低地址端的占用低地址端的20KB。有下述作业序列:。有下述作业序列: 作业作业1 要求要求 80KB 作业作业2 要求要求 16KB 作业作业3 要求要求 140KB 作业作业1 完成完成 作业作业3 完成完成 作业作业4 要求要求 80KB 作业作业5 要求要求 120KB练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 试用最佳适应算法来处理上述作业序试用最佳适应算法来处理上述作业序列列(在存储分配时,将空白区高地址端分给在存储分配时,将空白区高地址端分给作业作业),并回答下列问题:,并回答下列问题:(1)画出作业画出作业1、2、3进入主存后,主存的分进入主存后,主存的分配情况。配情况。(2)画出作业画出作业1、3完成后,主存的分配情况。完成后,主存的分配情况。(3)画出作业画出作业4、5进入主存后的主存分布情进入主存后的主存分布情况。况。练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练习答案练习答案1、动态链接是指当程序运行时,若发现一、动态链接是指当程序运行时,若发现一个被调用模块尚未装入内存,则由操作系统个被调用模块尚未装入内存,则由操作系统去找到该模块,将它装入内存,并把它链接去找到该模块,将它装入内存,并把它链接到调用程序中。由于动态链接每次调入内存到调用程序中。由于动态链接每次调入内存的是一个程序模块,因此采用段式存储管理的是一个程序模块,因此采用段式存储管理方法可以实现这种技术。方法可以实现这种技术。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2、在存储管理中,内零头是指分配给作业、在存储管理中,内零头是指分配给作业的存储空间中未被利用的部分,外零头是指的存储空间中未被利用的部分,外零头是指系统中无法利用的小存储块。系统中无法利用的小存储块。 在固定式分区分配中,为将一个用户作在固定式分区分配中,为将一个用户作业装入内存,内存分配程序从系统分区表中业装入内存,内存分配程序从系统分区表中找出一个能满足作业要求的空闲分区分配给找出一个能满足作业要求的空闲分区分配给作业,由于一个作业的大小并不一定与分区作业,由于一个作业的大小并不一定与分区大小相等,因此,分区中一部分存储空间被大小相等,因此,分区中一部分存储空间被浪费掉了。由此可知,固定式分区分配中存浪费掉了。由此可知,固定式分区分配中存在内零头。在内零头。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在可变式分区分配中,为把一个作在可变式分区分配中,为把一个作业装入内存,应按照一定的分配算法从业装入内存,应按照一定的分配算法从系统中找出一个能满足作业需求的空闲系统中找出一个能满足作业需求的空闲分区分配给作业,如果这个空闲分区的分区分配给作业,如果这个空闲分区的容量比作业申请的空间容量要大,则将容量比作业申请的空间容量要大,则将该分区一分为二,一部分分配给作业,该分区一分为二,一部分分配给作业,剩下的一部分仍然留作系统的空闲分区。剩下的一部分仍然留作系统的空闲分区。由此可知,可变式分区分配中存在外零由此可知,可变式分区分配中存在外零头。头。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在页式虚拟存储系统中,用户作业的地在页式虚拟存储系统中,用户作业的地址空间被划分成若干个大小相等的页面,存储址空间被划分成若干个大小相等的页面,存储空间也分成与页大小相等的物理块,但一般情空间也分成与页大小相等的物理块,但一般情况下,作业的大小不可能都是物理块大小的整况下,作业的大小不可能都是物理块大小的整数倍,因此作业的最后一页中仍有部分空间被数倍,因此作业的最后一页中仍有部分空间被浪费掉了。由此可知,页式虚拟存储系统中存浪费掉了。由此可知,页式虚拟存储系统中存在内零头。在内零头。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在段式虚拟存储系统中,作业的地址空间在段式虚拟存储系统中,作业的地址空间由若干个逻辑分段组成,每段分配一个连续的由若干个逻辑分段组成,每段分配一个连续的内存区,但各段之间不要求连续,其内存的分内存区,但各段之间不要求连续,其内存的分配方式类似于动态分区分配。由此可知,段式配方式类似于动态分区分配。由此可知,段式虚拟存储系统中存在外零头。虚拟存储系统中存在外零头。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3、本题中,矩阵、本题中,矩阵a有有100200=20 000个整数,个整数,每页存放每页存放200个整数,故一页可以存放一行个整数,故一页可以存放一行数组元素。系统分配给进程数组元素。系统分配给进程5个页面存放数个页面存放数据,假设程序已调入内存据,假设程序已调入内存(因题目中没有提因题目中没有提供与程序相关的数据,可以不考虑程序的调供与程序相关的数据,可以不考虑程序的调入问题入问题),因此只需考虑矩阵访问时产生的,因此只需考虑矩阵访问时产生的缺页中断次数。缺页中断次数。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 对于程序一,由于矩阵存放是按行存储,对于程序一,由于矩阵存放是按行存储,本程序对矩阵本程序对矩阵a的访问也是按行进行的,因此的访问也是按行进行的,因此本程序依次将矩阵本程序依次将矩阵a的内容调入内存,每一页的内容调入内存,每一页只调入一次,每一页都会发生一次缺页中断,只调入一次,每一页都会发生一次缺页中断,因此会产生因此会产生20 000/200=100次缺页中断。次缺页中断。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 对于程序二,矩阵存放是按行存储,而对于程序二,矩阵存放是按行存储,而本程序对矩阵本程序对矩阵a的访问是按列进行的。当的访问是按列进行的。当j=0时,内层循环的执行将访问矩阵时,内层循环的执行将访问矩阵a的所有元的所有元素,需要依次将矩阵素,需要依次将矩阵a的的100行调入内存,将行调入内存,将产生产生100次缺页中断。当次缺页中断。当j=1时,仍需要依次时,仍需要依次将矩阵将矩阵a的的100行调入内存行调入内存(因留在内存中的因留在内存中的是第是第95、96、97、98、99行行),仍将产生,仍将产生100次缺页中断。后续循环,可依此类推。由此次缺页中断。后续循环,可依此类推。由此可知,程序二将产生可知,程序二将产生20000次缺页中断。次缺页中断。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4、在段式管理系统中,逻辑地址由段号、在段式管理系统中,逻辑地址由段号S和和段内位移段内位移W组成,其结构为:组成,其结构为: 在段页式系统中,逻辑地址由段号在段页式系统中,逻辑地址由段号S、段内页号段内页号P及页内位移及页内位移D组成,其结构为:组成,其结构为:段 号S段内位移W段号S段内页号P页内位移D练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 从用户角度看,每段都从从用户角度看,每段都从0开始编址,并开始编址,并采用一段连续的地址空间,因此,整个作业的采用一段连续的地址空间,因此,整个作业的地址空间是二维的。地址空间是二维的。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.5、对于、对于FIFO、LRU置换算法,页故障置换算法,页故障(即即缺页中断缺页中断)上限均为上限均为p,下限均为,下限均为n。发生页。发生页故障的原因是当前访问的页不在内存中,需故障的原因是当前访问的页不在内存中,需要通过缺页中断将缺页调入内存,此时无论要通过缺页中断将缺页调入内存,此时无论内存是否有空闲物理块内存是否有空闲物理块(若无空闲物理块则若无空闲物理块则选择一页调出,若有空闲物理块则可直接调选择一页调出,若有空闲物理块则可直接调入入),都要发生一次页故障,故无论采用怎,都要发生一次页故障,故无论采用怎样的置换算法,样的置换算法,n个不同页面在进入内存时个不同页面在进入内存时都至少要发生一次页故障,总共发生都至少要发生一次页故障,总共发生n次页次页故障。故障。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 虽然不同页面数为虽然不同页面数为n,一般情况下,一般情况下,n小于页面引用串的长度小于页面引用串的长度p,但驻留集,但驻留集(即分配即分配给进程的物理块数给进程的物理块数)mn,所以无法保证某页,所以无法保证某页进入内存后不会被调出内存,而只有当被访进入内存后不会被调出内存,而只有当被访问页面在内存中时才不会发生页故障,所以问页面在内存中时才不会发生页故障,所以最坏情况为每当访问一个页面时,该页都不最坏情况为每当访问一个页面时,该页都不在内存在内存(若为重复访问,则该页在上次访问若为重复访问,则该页在上次访问后又被调出内存后又被调出内存),所以共发生,所以共发生p次页故障。次页故障。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.举例如下:举例如下: 下限:下限:m=3,p=12,n=4,有引用串有引用串1、1、1、2、2、3、3、3、4、4、4、4,则两种置换,则两种置换算法产生的页故障次数均为算法产生的页故障次数均为4,如表所示:,如表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.引用串111223334444页11114页2222页333页故障缺缺缺缺练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.上限:上限:m=3,p=12,n=4,有引用串有引用串2、3、4、1、2、3、4、1、2、3、4、1,则两种置换算法,则两种置换算法产生的页故障次数均为产生的页故障次数均为12,如表所示:,如表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.引用串234123412341页1222111444333页233322211144页34443332221页故障缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6、(1)每块的长度为每块的长度为64KB/16=4KB在页式存储管理系统中,页与块大小相等,因此作在页式存储管理系统中,页与块大小相等,因此作业总长度为业总长度为4KB4=16KB=16 384B。(2)因为页号为因为页号为0、1、2、3的页分别装入主存的页分别装入主存2、4、1、6块中,所以该作业每一页在主存中的起始地址块中,所以该作业每一页在主存中的起始地址如下:如下:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.第第0页在主存中的起始地址:页在主存中的起始地址:4KB2=8KB=8192B第第1页在主存中的起始地址:页在主存中的起始地址: 4KB 4=16KB=16 384B第第2页在主存中的起始地址:页在主存中的起始地址: 4KB 1=4KB=4096B第第3页在主存中的起始地址:页在主存中的起始地址: 4KB 6=24KB=24 576B练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)逻辑地址逻辑地址0,100的内存地址为:的内存地址为: 4KB 2+100=8292B逻辑地址逻辑地址1,50的内存地址为:的内存地址为: 4KB 4+50=16434B逻辑地址逻辑地址2,0的内存地址为:的内存地址为: 4KB 1+0=4096B逻辑地址逻辑地址3,60的内存地址为:的内存地址为: 4KB 6+60=24 636B练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.7、对于逻辑地址、对于逻辑地址0,65,因因6550,其逻辑地址非法,其逻辑地址非法,产生地址越界中断。产生地址越界中断。对于逻辑地址对于逻辑地址2,90,因,因90100,其逻辑地址合法,其逻辑地址合法,对应的主存地址为对应的主存地址为1000+90=1090。对于逻辑地址对于逻辑地址3,20,因,因20150,其逻辑地址合法,其逻辑地址合法,但该段状态位为但该段状态位为1,所以产生缺段中断,待缺段调,所以产生缺段中断,待缺段调入主存后再进行地址变换。入主存后再进行地址变换。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.8、采用、采用LRU页面置换算法的页面置换情况如表所页面置换算法的页面置换情况如表所示:示:缺页中断次数为缺页中断次数为6,缺页率为,缺页率为6/12=50%页面走向342143143145页13331 1 1页2444 4 4页322 3 5缺页缺 缺 缺 缺缺 缺练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.9、最先适应算法即首次适应算法,它要求、最先适应算法即首次适应算法,它要求空闲分区空闲分区(即空白区即空白区)按地址递增的次序排列,按地址递增的次序排列,在进行内存分配时,总是从空闲分区表首开在进行内存分配时,总是从空闲分区表首开始顺序查找,直到找到第一个能满足其大小始顺序查找,直到找到第一个能满足其大小要求的空闲分区为止。然后,再按照作业大要求的空闲分区为止。然后,再按照作业大小,从该分区中划出一块内存空间分配给请小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表中,求者,余下的空闲分区仍留在空闲分区表中,为描述方便起见,假设将空闲分区的低地址为描述方便起见,假设将空闲分区的低地址端分配给作业。端分配给作业。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 以以J1、J2、J3、J4、J5的次序可以将这的次序可以将这五个作业装入内存。其装入过程如下:五个作业装入内存。其装入过程如下: 在装入在装入J1时,时,J1申请申请20KB,选中,选中1号空号空白区,分配后白区,分配后1号空白区还剩号空白区还剩80KB,J1装入装入后的空白区表如下表所示:后的空白区表如下表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.空白区号 起始地址空白区容量 状态123425KB120KB310KB1024KB80KB20KB256KB48KB可用可用可用可用练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在装入在装入J2时,时,J2申请申请42KB,选中,选中1号号空白区,分配后空白区,分配后1号空白区还剩号空白区还剩38KB,J2装装入后的空白区表如下表所示:入后的空白区表如下表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.空白区号 起始地址空白区容量 状态123467KB120KB310KB1024KB38KB20KB256KB48KB可用可用可用可用练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在装入在装入J3时,时,J3申请申请120KB,选中,选中3号号空白区,分配后空白区,分配后3号空白区还剩号空白区还剩136KB,J3装入后的空白区表如下表所示:装入后的空白区表如下表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.空白区号 起始地址空白区容量 状态123467KB120KB430KB1024KB38KB20KB136KB48KB可用可用可用可用练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在装入在装入J4时,时,J4申请申请130KB,选中,选中3号号空白区,分配后空白区,分配后3号空白区还剩号空白区还剩6KB,J4装装入后的空白区表如下表所示:入后的空白区表如下表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.空白区号起始地址空白区容量 状态123467KB120KB560KB1024KB38KB20KB6KB48KB可用可用可用可用练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 在装入在装入J5时,时,J5申请申请18KB,选中,选中1号号空白区,分配后空白区,分配后1号空白区还剩号空白区还剩20KB,J5装装入后的空白区如下表所示:入后的空白区如下表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.空白区号 起始地址空白区容量 状态123485KB120KB560KB1024KB20KB20KB6KB48KB可用可用可用可用练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.10、设最大缺页率为、设最大缺页率为p,则,则 0.3p8ms+0.7p 20ms+(1-p) 1us=2us2400p+14000p+1-p=2 (1ms=1000us)16399p=1 p=0.00006练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.11、从图中可以看出,该系统中共有三个分区,第、从图中可以看出,该系统中共有三个分区,第一分区的大小为一分区的大小为30KB,第二分区的大小为,第二分区的大小为110KB,第三分区的大小为第三分区的大小为332KB。作业进入系统后的内存。作业进入系统后的内存分配情况如下图所示分配情况如下图所示(每个分区中未被利用的那部每个分区中未被利用的那部分空间用斜线表示分空间用斜线表示): 从下图可以看出,作业进入系统中,第一分从下图可以看出,作业进入系统中,第一分区剩余空间为区剩余空间为15KB,第二分区剩余空间为,第二分区剩余空间为57KB,第三分区剩余空间第三分区剩余空间222KB。主存空间浪费。主存空间浪费294KB。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.操作系统15KB的作业53KB的作业110KB的作业第一分区第二分区第三分区040KB70KB180KB512KB-1作业进入系统后的分配情况作业进入系统后的分配情况练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.12、在可变式分区分配存储管理方案中,存储、在可变式分区分配存储管理方案中,存储分配算法主要有首次适应算法、循环首次适应分配算法主要有首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法。它们的算法、最佳适应算法和最坏适应算法。它们的实现思想描述如下:实现思想描述如下:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.首次适应算法。首次适应算法要求空闲分区首次适应算法。首次适应算法要求空闲分区按地址递增的次序排列。在进行内存分配时,按地址递增的次序排列。在进行内存分配时,从空闲分区表从空闲分区表(或空间分区链或空间分区链)首开始顺序查首开始顺序查找,直到找到一个能满足其大小要求的空闲找,直到找到一个能满足其大小要求的空闲分区为止。然后,再按照作业大小从该分区分区为止。然后,再按照作业大小从该分区中划出一块内存空间分配给请求者,余下的中划出一块内存空间分配给请求者,余下的空闲分区仍然留在空闲分区表空闲分区仍然留在空闲分区表(或空闲分区或空闲分区链链)中。中。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.循环首次适应算法。循环首次适应算法是首循环首次适应算法。循环首次适应算法是首次适应算法的变形。该算法在为进程分配内次适应算法的变形。该算法在为进程分配内存空间时,不再每次从空闲分区表存空间时,不再每次从空闲分区表(或空闲或空闲分区链分区链)首开始查找,而是从上次找到的空首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到查闲分区的下一个空闲分区开始查找,直到查找一个能满足其大小要求的空闲分区为止。找一个能满足其大小要求的空闲分区为止。然后,再按照作业大小,从该分区中划出一然后,再按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区块内存空间分配给请求者,余下的空闲分区仍然留在空闲分区表仍然留在空闲分区表(或空闲分区链或空闲分区链)中。中。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.最佳适应算法。最佳适应算法要求空闲分区最佳适应算法。最佳适应算法要求空闲分区按容量大小递增的次序排列。在进行内存分按容量大小递增的次序排列。在进行内存分配时,从空闲分区表配时,从空闲分区表(或空闲分区链或空闲分区链)首开始首开始顺序查找,直到找到一个能满足其大小要求顺序查找,直到找到一个能满足其大小要求的空闲分区为止。按这种方式为作业分配内的空闲分区为止。按这种方式为作业分配内存,就能把既满足作业要求又与作业大小最存,就能把既满足作业要求又与作业大小最接近的空闲分区分配给作业。然后,再按照接近的空闲分区分配给作业。然后,再按照作业大小,从该分区中划出一块内存空间分作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍然留在空闲配给请求者,余下的空闲分区仍然留在空闲分区表分区表(或空闲分区链或空闲分区链)中。中。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.最坏适应算法。最坏适应算法要求空闲分区最坏适应算法。最坏适应算法要求空闲分区按容量大小递减的次序排列。在进行内存分按容量大小递减的次序排列。在进行内存分配时,先检查空闲分区表配时,先检查空闲分区表(或空闲分区链或空闲分区链)中中的第一个空闲分区,若第一个空闲分区小于的第一个空闲分区,若第一个空闲分区小于作业要求的大小,则分配失败;否则从该空作业要求的大小,则分配失败;否则从该空闲分区中划出与作业大小相等的一块内存空闲分区中划出与作业大小相等的一块内存空间分配给请求者,余下的空闲分区仍然留在间分配给请求者,余下的空闲分区仍然留在空闲分区表空闲分区表(或空闲分区链或空闲分区链)中。中。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.13、把一个程序划分为一系列功能相对独立的、把一个程序划分为一系列功能相对独立的程序单位程序单位(称为覆盖称为覆盖),让执行时并不要求同时,让执行时并不要求同时装入内存的覆盖组成一组装入内存的覆盖组成一组(称为覆盖段称为覆盖段),共享,共享同一个存储区域,这种内存扩充技术就是覆盖。同一个存储区域,这种内存扩充技术就是覆盖。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 交换技术就是把暂时不用的某个程交换技术就是把暂时不用的某个程序及数据部分或全部从内存移到外存中序及数据部分或全部从内存移到外存中去,以便腾出必要的内存空间,或把指去,以便腾出必要的内存空间,或把指定的程序或数据从外存读到相应的内存定的程序或数据从外存读到相应的内存中,并将控制权转给它,让其在系统上中,并将控制权转给它,让其在系统上运行的一种内存扩充技术。运行的一种内存扩充技术。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 覆盖技术要求程序员必须把一个程覆盖技术要求程序员必须把一个程序划分成不同的程序段,并规定好它们序划分成不同的程序段,并规定好它们的执行和覆盖顺序,操作系统根据程序的执行和覆盖顺序,操作系统根据程序员提供的覆盖结构来完成程序段之间的员提供的覆盖结构来完成程序段之间的覆盖。覆盖主要在同一个作业或同一个覆盖。覆盖主要在同一个作业或同一个进程内进行;而交换主要是在进程或作进程内进行;而交换主要是在进程或作业之间进行。另外,覆盖只能覆盖那些业之间进行。另外,覆盖只能覆盖那些与覆盖程序段无关的程序段。与覆盖程序段无关的程序段。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.14、由题目所给条件可知,每页大小、由题目所给条件可知,每页大小为为200H=29字节。字节。逻辑地址逻辑地址0A3CH的二进制表示如图所的二进制表示如图所示:示: 000101 000111100页号P页内位移W练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.由此可知逻辑地址由此可知逻辑地址0A3CH的页号为的页号为5,查页表知该页存放在第查页表知该页存放在第8号物理块中,号物理块中,其物理地址的二进制表示如图所示:其物理地址的二进制表示如图所示: 001000 000111100块号块内位移练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 所以,逻辑地址所以,逻辑地址0A3CH对应的对应的物理地址为物理地址为103CH。逻辑地址逻辑地址223CH的二进制表示如图所的二进制表示如图所示:示: 010001 000111100页号P页内位移W练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.由此可知,逻辑地址由此可知,逻辑地址223CH的页号为的页号为11H,即十进制的,即十进制的17。查页表知该页存。查页表知该页存放在第放在第14号物理块中,号物理块中,14的十六进制的十六进制为为EH,其物理地址的二进制表示如图,其物理地址的二进制表示如图所示:所示: 001110 000111100块号块内位移练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 所以,逻辑地址所以,逻辑地址223CH对应的物理地址对应的物理地址为为1C3CH。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.15、(1)J2的页面映象表如下表所示:的页面映象表如下表所示:页号物理块号01233468练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2)在本题中,系统页面大小为在本题中,系统页面大小为1024B。对于逻辑地址对于逻辑地址2100,其页号为:,其页号为: int(2100/1024)=2其页内位移为:其页内位移为:2100%1024=52查页表知第查页表知第2页在第页在第6个物理块中,所以物理个物理块中,所以物理地址为:地址为:10245+52=6196。其地址变换如下图所示:。其地址变换如下图所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.页表长度页表始址页表寄存器522逻辑地址2100+83624130526越界中断物理地址6196页号 物理块号练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.对于逻辑地址对于逻辑地址3100,其页号为:,其页号为: int(3100/1024)=3 其页内位移为:其页内位移为:3100%1024=28 查页表知第查页表知第3页在第页在第8个物理块中,所以物理个物理块中,所以物理地址为:地址为: 10248+28=8220。其地址变换如下图所示:。其地址变换如下图所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.页表长度页表始址页表寄存器283逻辑地址3100+83624130288越界中断物理地址8220页号 物理块号练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.16、采用采用LRU页面置换算法,分配给进程的页页面置换算法,分配给进程的页面为面为3时的页面置换情况如下图所示:时的页面置换情况如下图所示: 缺页中断次数为缺页中断次数为10,缺页率为,缺页率为10/12=83%。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.页面走向321032432104页13330004 111页2222333 300页311122 224缺页缺 缺 缺 缺 缺 缺 缺 缺 缺 缺采用采用LRULRU置换算法且页面为置换算法且页面为3 3时的置换情况时的置换情况练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.采用采用LRU页面置换算法,分配给进程的页页面置换算法,分配给进程的页面为面为4时的页面置换算法如下表所示:时的页面置换算法如下表所示: 缺页中断次数为缺页中断次数为8,缺页率为,缺页率为8/12=67%。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.页面走向321032432104页13333 3 334页2222 2 222页311 4 400页400111缺页缺 缺 缺 缺 缺 缺 缺 缺采用采用LRULRU置换算法且页面为置换算法且页面为4 4时的置换情况时的置换情况练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 从上述结果可以看出,对于从上述结果可以看出,对于LRU算法来算法来说,分配给进程的页面数越多,产生的缺页次说,分配给进程的页面数越多,产生的缺页次数越少。数越少。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.17、为描述方便起见,本题用、为描述方便起见,本题用“(分区首址,分区长分区首址,分区长度度)”的形式描述系统中的分区。由题中所给条件可的形式描述系统中的分区。由题中所给条件可知,最初系统中只有一个空闲区,大小为知,最初系统中只有一个空闲区,大小为236KB,始,始址为址为20KB,即,即(20KB,236KB)。 采用最佳适应算法时的操作流程如表所示:采用最佳适应算法时的操作流程如表所示:练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.操作已分配空间空白块初始作业1申请80KB作业2申请16KB作业3申请140KB作业1释放80KB作业3释放140KB作业4申请80KB作业5申请120KB无(176KB,80KB)(176KB,80KB)(160KB,16KB)(176KB,80KB)(160KB,16KB)(20KB,140KB)(160KB,16KB)(20KB,140KB)(160KB,16KB)(160KB,16KB)(176KB,80KB)(160KB,16KB)(176KB,80KB)(40KB,120KB)(20KB,236KB)(20KB,156KB)(20KB,140KB)(176KB,80KB)(176KB,80KB)(20KB,140KB)(20KB,140KB)(20KB,20KB)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1)作业作业1、2、3进入主存后,主存的分配进入主存后,主存的分配情况如图所示:情况如图所示:操作系统 20KB作业3 140KB作业2 16KB作业1 80KB0KB20KB160KB176KB256KB-1练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2)作业作业1、3完成后,主存的分配情况如图所完成后,主存的分配情况如图所示示(用斜线表示空闲空间用斜线表示空闲空间)操作系统 20KB作业2 16KB0KB20KB160KB176KB256KB-1练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)作业作业4、5进入系统后的内存分布情况如图进入系统后的内存分布情况如图所示所示(用斜线表示空闲空间用斜线表示空闲空间)操作系统 20KB作业5 120KB作业2 16KB作业4 80KB0KB20KB160KB176KB256KB-140KB练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、一、(华师大华师大2002年试题年试题) 主存替换策略计算题主存替换策略计算题(5分分) 某一进程在页式虚存中的执行程序的页面走某一进程在页式虚存中的执行程序的页面走向是向是2 3 2 1 5 2 4 5 3 2 5 2,若系统分配给它,若系统分配给它的帧数为的帧数为3页,并采用局部淘汰策略。页,并采用局部淘汰策略。要求:分别计算出采用先进先出要求:分别计算出采用先进先出FIFO替换策替换策略、最近最少使用略、最近最少使用LRU替换策略时所缺的页替换策略时所缺的页及其次数。及其次数。练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一、某系统内存分布如图所示:一、某系统内存分布如图所示: 1、当作业、当作业1、作业、作业3执行执行 完毕,释放它们所占的内完毕,释放它们所占的内 存区后,内存空闲区有什存区后,内存空闲区有什 么变化?要求说明具体的么变化?要求说明具体的 变化情况。变化情况。(5分分) 2、要求在两种不同的放、要求在两种不同的放 置策略下,置策略下,(首次适应算首次适应算 法和最佳适应算法法和最佳适应算法)画出此时的画出此时的 自由主存队列结构自由主存队列结构(4分分) 3、当作业、当作业4(要求要求70K的内存容量的内存容量)要要 进入系统时,该作业在这二种不同进入系统时,该作业在这二种不同 放置策略下,各分配在哪个空间区内?放置策略下,各分配在哪个空间区内? (3分分)OS作业1(60K)空闲区A(60K)作业2(40K)空闲区B(20K)作业3(30K)空闲区C(26K)020K256K-1内存空间内存空间练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.二、已知某计算机系统内存容量为1024K,某时刻内存分布如图所示: 1、分别画出在首次适应 算法、最佳适应算法和 最坏适应算法下的自由 主存 队列结构。(6分) 2、设有一作业要求内存 容量60K,问在这三种放 置策略下分别放在哪个空 闲区内? (简述分配步骤,并给出 分配结果)(4分)OS空闲区A(120K)空闲区B(180K)空闲区C(60K)0100K200K600K964K1024K-1内存空间练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.三、在某系统中,采用固定分区分配管理方式,内存分区三、在某系统中,采用固定分区分配管理方式,内存分区(单位字节单位字节)情况如图示。现有大小为情况如图示。现有大小为1K、9K、33K、121K的多个作业要求进入内存,试画出它们进入内存后的空间的多个作业要求进入内存,试画出它们进入内存后的空间分配情况,并说明内存浪费多少?分配情况,并说明内存浪费多少?操作系统020K28K60K180K512K-1第一分区第一分区第二分区第二分区第三分区第三分区第四分区第四分区练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.四、在一分页存储管理系统中,逻辑地址长度四、在一分页存储管理系统中,逻辑地址长度为为16位,页面大小为位,页面大小为4096字节,现有逻辑地字节,现有逻辑地址为址为2F6AH,且第,且第0、1、2页依次存放在物理页依次存放在物理块块5、10、11中,问相应的物理地址为多少?中,问相应的物理地址为多少?练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.五、(南开大学1994年试题)在采用页式存储管理的系统中,某作业J的逻辑地址空间为4页(每页2048字节),且已知该作业的页面映象表如下: 试求出有效逻辑地址4865所对应的物理地址。页号块号01232458练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.六、设有一页式存储管理系统,向用户提供的逻六、设有一页式存储管理系统,向用户提供的逻辑地址空间最大为辑地址空间最大为16页,每页页,每页2048字节,内存总字节,内存总共有共有8个存储块,试问逻辑地址至少应为多少位个存储块,试问逻辑地址至少应为多少位?内存空间有多大?内存空间有多大?练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.七、在一个分段存储管理系统中,其段表为:七、在一个分段存储管理系统中,其段表为: 试求下述逻辑地址对应的物理地址是什么?试求下述逻辑地址对应的物理地址是什么?段号内存起始地址段长01234210235010013501938500209059095段号段内位移0123454301050040011232练习答案练习答案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号