第 5 章 存储管理

150
LOGO www.ptpress.com.cn www.ptpress.com.cn 5 5 第第第第 第第第第

Upload: kato-phelps

Post on 01-Jan-2016

133 views

Category:

Documents


13 download

DESCRIPTION

第 5 章 存储管理. 5.1. 5.2. 5.3. 存储管理的基本概念. 连续分配存储管理. 离散分配存储管理. 5.4. 5.5. 5.6. 虚拟存储管理. Windows 2000 的存储管理. 案例分析. 5.1 存储管理的基本概念. 在微机中,存储器的组织形式一般是“寄存器-高速缓存-主存-外存”结构,如图 5-1 。 这种组织形式的最佳状态应是各层次的存储器都处于均衡的繁忙状态。. 图 5-1 存储层次结构. 5.1.1 存储管理的功能 在现代操作系统中,存储管理的功能一般有以下几个方面。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

第第 55 章 存储管理 章 存储管理

Page 2: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

存储管理的基本概念 5.15.1

连续分配存储管理 5.25.2

离散分配存储管理 5.35.3

Page 3: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

虚拟存储管理5.45.4

Windows 2000的存储管理5.55.5

案例分析 5.65.6

Page 4: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.1 5.1 存储管理的基本概念存储管理的基本概念 在微机中,存储器的组织形式一般是在微机中,存储器的组织形式一般是

“寄存器-高速缓存-主存-外存”结构,“寄存器-高速缓存-主存-外存”结构,如图如图 5-15-1 。。

这种组织形式的最佳状态应是各层次的这种组织形式的最佳状态应是各层次的存储器都处于均衡的繁忙状态。 存储器都处于均衡的繁忙状态。

Page 5: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-1 5-1 存储层次结构 存储层次结构

Page 6: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.1.1 5.1.1 存储管理的功能存储管理的功能 在现代操作系统中,存储管理的功能在现代操作系统中,存储管理的功能

一般有以下几个方面。一般有以下几个方面。• (( 11 )内存分配。)内存分配。• (( 22 )地址转换。)地址转换。• (( 33 )内存共享。)内存共享。• (( 44 )存储保护。)存储保护。• (( 55 )内存扩充。 )内存扩充。

Page 7: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.1.2 5.1.2 存储管理方式存储管理方式 目的是方便用户和提高内存的利用率。目的是方便用户和提高内存的利用率。 内存的管理方法有以下两种方式。内存的管理方法有以下两种方式。

• 11 .连续分配方式.连续分配方式– 为用户程序分配一个连续的内存为用户程序分配一个连续的内存

地址空间。又分为以下两种。地址空间。又分为以下两种。

Page 8: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

(( 11 )单一连续分配方式)单一连续分配方式• 内存被分为两个区域:系统区内存被分为两个区域:系统区和用户区。特点:简单、易于管理,适和用户区。特点:简单、易于管理,适用于单用户、单任务的操作系统。用于单用户、单任务的操作系统。

Page 9: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

(( 22 )分区分配方式)分区分配方式• 把内存分为一些大小相等或不等把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,的分区,操作系统占用其中一个分区,其余分区由应用程序使用,可支持多个其余分区由应用程序使用,可支持多个程序并发执行。又分为以下两种。程序并发执行。又分为以下两种。

Page 10: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

① ① 固定分区。把内存划分为若干个固定大固定分区。把内存划分为若干个固定大小的连续分区。每个区域驻留一道程序。小的连续分区。每个区域驻留一道程序。特点易于实现,开销小。限制了并发执行特点易于实现,开销小。限制了并发执行的程序数目。的程序数目。

② ② 可变分区。根据用户程序的大小,动态可变分区。根据用户程序的大小,动态地对内存进行划分。特点分配方式灵活,地对内存进行划分。特点分配方式灵活,在作业运行过程中允许在内存空间中移动。在作业运行过程中允许在内存空间中移动。

Page 11: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .离散分配方式.离散分配方式 将一个用户程序离散地分配到内存中将一个用户程序离散地分配到内存中

多个不相邻的区域中。又分为以下多个不相邻的区域中。又分为以下 33 种。种。

Page 12: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

(( 11 )分页存储管理)分页存储管理• 用户程序的逻辑地址空间被划用户程序的逻辑地址空间被划分为若干个大小相等的区域,称为分为若干个大小相等的区域,称为“页”。相应地,将内存的物理地址空“页”。相应地,将内存的物理地址空间分成若干个“块”。页和块的大小相间分成若干个“块”。页和块的大小相等。将用户程序的一页放入内存中的任等。将用户程序的一页放入内存中的任意一块中,实现了离散分配。意一块中,实现了离散分配。

Page 13: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

(( 22 )分段存储管理)分段存储管理• 把用户程序的逻辑地址空间划分把用户程序的逻辑地址空间划分为若干个大小不等的“段”,每段可以为若干个大小不等的“段”,每段可以定义一组相对完整的逻辑信息。进行存定义一组相对完整的逻辑信息。进行存储分配时,以段为单位,这些段在内存储分配时,以段为单位,这些段在内存中的地址可以不相邻。中的地址可以不相邻。

Page 14: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

(( 33 )段页式存储管理)段页式存储管理• 分页与分段两种方式结合起来,分页与分段两种方式结合起来,充分发挥两者的优点。充分发挥两者的优点。

Page 15: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.1.3 5.1.3 地址重定位地址重定位 每个用户的程序地址都可以从“每个用户的程序地址都可以从“ 0”0” 开开

始,程序中的其他地址都是相对于起始地始,程序中的其他地址都是相对于起始地址计算的。这种用于编程的地址称为逻辑址计算的。这种用于编程的地址称为逻辑地址或相对地址。形成的地址范围称为地地址或相对地址。形成的地址范围称为地址空间。址空间。

Page 16: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

用户提交作业时,系统为其分配一个合用户提交作业时,系统为其分配一个合适的主存空间。该主存空间的地址称为物适的主存空间。该主存空间的地址称为物理地址或绝对地址。地址空间是逻辑地址理地址或绝对地址。地址空间是逻辑地址的集合,主存空间是物理地址的集合。的集合,主存空间是物理地址的集合。

一般,一个用户作业装入内存时分配到一般,一个用户作业装入内存时分配到的主存空间与其地址空间是不一致的。 的主存空间与其地址空间是不一致的。

Page 17: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

由于一个作业装入到与其地址空间不由于一个作业装入到与其地址空间不一致的主存空间引起的,对地址部分调整一致的主存空间引起的,对地址部分调整的过程,称为地址重定位。调整过程是把的过程,称为地址重定位。调整过程是把程序地址空间中使用的逻辑地址变换为主程序地址空间中使用的逻辑地址变换为主存中的物理地址的过程。这种地址变换又存中的物理地址的过程。这种地址变换又称为地址映射。称为地址映射。

Page 18: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

地址重定位的方式 地址重定位的方式 • 11 .静态重定位.静态重定位

– 在作业装入过程中同时进行地址变在作业装入过程中同时进行地址变换。换。

– 特点:容易实现,无需增加硬件地特点:容易实现,无需增加硬件地址变换机构;为每个程序分配一个连址变换机构;为每个程序分配一个连续的存储区,在程序执行期间不能移续的存储区,在程序执行期间不能移动;难以实现程序和数据的共享。如动;难以实现程序和数据的共享。如图图 5-35-3 所示。 所示。

Page 19: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-3 5-3 静态重定位的实现静态重定位的实现

Page 20: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• 22 .动态重定位.动态重定位– 在程序执行过程中,对每条指令在程序执行过程中,对每条指令

或数据进行访问时,将要访问的指令或数据进行访问时,将要访问的指令或数据的逻辑地址转换为物理地址 。或数据的逻辑地址转换为物理地址 。

– 实现要依靠硬件地址变换机构,最实现要依靠硬件地址变换机构,最简单的实现方法是利用一个重定位寄简单的实现方法是利用一个重定位寄存器。图存器。图 5-45-4 给出了动态地址变换过给出了动态地址变换过程的示例。 程的示例。

Page 21: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-4 5-4 动态重定位的实现动态重定位的实现

Page 22: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 特点是:可以将程序分配到不连特点是:可以将程序分配到不连续的主存区域中;在程序运行前,只续的主存区域中;在程序运行前,只需要装入其部分代码即可投入运行,需要装入其部分代码即可投入运行,在程序运行期间,根据需要动态申请在程序运行期间,根据需要动态申请分配内存;便于程序段的共享;可以分配内存;便于程序段的共享;可以向用户提供一个比主存空间大得多的向用户提供一个比主存空间大得多的地址空间;需要硬件的支持,实现存地址空间;需要硬件的支持,实现存储管理的算法比较复杂。储管理的算法比较复杂。

Page 23: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.1.4 5.1.4 虚拟存储器虚拟存储器 大多数程序执行时,在一个较短的时间大多数程序执行时,在一个较短的时间

内仅使用程序代码的一部分,相应程序所内仅使用程序代码的一部分,相应程序所访问的存储空间也局限于某个区域,这就访问的存储空间也局限于某个区域,这就是程序执行的局部性原理。 是程序执行的局部性原理。

Page 24: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

程序执行的局部性原理可以表现为以下程序执行的局部性原理可以表现为以下两个方面。两个方面。• (( 11 )时间局部性。)时间局部性。• (( 22 )空间局部性。 )空间局部性。

Page 25: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• 程序装入时,可以将程序的一部程序装入时,可以将程序的一部分放入内存,将其余部分放在外存,即分放入内存,将其余部分放在外存,即可启动程序的执行。在程序执行过程中,可启动程序的执行。在程序执行过程中,当要访问的信息不在内存时,将所需部当要访问的信息不在内存时,将所需部分调入内存,然后继续执行程序。分调入内存,然后继续执行程序。

Page 26: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• 同时,操作系统将内存中暂时不同时,操作系统将内存中暂时不用的内容换出到外存上,腾出内存空间用的内容换出到外存上,腾出内存空间存放将要调入内存的信息。从效果上看,存放将要调入内存的信息。从效果上看,好像为用户提供了一个存储容量比实际好像为用户提供了一个存储容量比实际内存大得多的存储器,该存储器称为虚内存大得多的存储器,该存储器称为虚拟存储器(虚存)。 拟存储器(虚存)。

Page 27: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• 虚拟存储器的实质是把程序存在虚拟存储器的实质是把程序存在的地址空间和运行时存放的存储空间区的地址空间和运行时存放的存储空间区分开来,用户可以在地址空间编写程序,分开来,用户可以在地址空间编写程序,而完全不用考虑实际主存的大小。在多而完全不用考虑实际主存的大小。在多道程序环境下,可以为每个用户建立一道程序环境下,可以为每个用户建立一个虚拟存储器。 个虚拟存储器。

Page 28: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

实现虚拟存储技术有以下几个条件。实现虚拟存储技术有以下几个条件。(( 11 )要有相当数量的外存,以存放多个)要有相当数量的外存,以存放多个

用户程序。用户程序。(( 22 )要有一定容量的内存,因为在处理)要有一定容量的内存,因为在处理

机上运行的程序有一部分信息必需存放在机上运行的程序有一部分信息必需存放在内存中。内存中。

Page 29: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

(( 33 )要有地址变换机构,动态实现虚地)要有地址变换机构,动态实现虚地址到实地址的地址变换。址到实地址的地址变换。• 常用的虚拟存储技术有请求分页常用的虚拟存储技术有请求分页存储管理、请求分段存储管理和请求段存储管理、请求分段存储管理和请求段页式存储管理。页式存储管理。

Page 30: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.1.5 5.1.5 覆盖与交换覆盖与交换 多道程序环境下,可以用覆盖与交换技多道程序环境下,可以用覆盖与交换技

术实现内存共享和扩充内存。 术实现内存共享和扩充内存。

Page 31: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

11 .覆盖技术.覆盖技术 覆盖技术,是把一个大的程序划分为一覆盖技术,是把一个大的程序划分为一

系列的覆盖。每个覆盖是一个相对独立的系列的覆盖。每个覆盖是一个相对独立的程序单位。把程序执行时不要求同时装入程序单位。把程序执行时不要求同时装入内存的覆盖组成一组,称为覆盖段。覆盖内存的覆盖组成一组,称为覆盖段。覆盖段分配在同一个存储区域,该存储区域称段分配在同一个存储区域,该存储区域称为覆盖区,与覆盖段一一对应,大小由覆为覆盖区,与覆盖段一一对应,大小由覆盖段中的最大覆盖确定。图盖段中的最大覆盖确定。图 5-5 5-5 。。

Page 32: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-5 5-5 覆盖示例覆盖示例

Page 33: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .交换技术.交换技术 把暂时不用的某个程序及数据的一部把暂时不用的某个程序及数据的一部

分(或全部)从内存移到外存中去,以便分(或全部)从内存移到外存中去,以便腾出必要的内存空间,把需要运行的程序腾出必要的内存空间,把需要运行的程序或数据从外存读到内存中,并将控制权转或数据从外存读到内存中,并将控制权转给它,让其在系统上运行。 给它,让其在系统上运行。

Page 34: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

交换技术与覆盖技术都是一种内存扩充交换技术与覆盖技术都是一种内存扩充技术,区别是:交换技术不要求程序员给技术,区别是:交换技术不要求程序员给出程序段之间的覆盖结构,交换主要在不出程序段之间的覆盖结构,交换主要在不同的进程或作业之间进行;覆盖主要在同同的进程或作业之间进行;覆盖主要在同一个作业或进程中进行,且只能覆盖与覆一个作业或进程中进行,且只能覆盖与覆盖程序段无关的程序段。盖程序段无关的程序段。

在分时系统中,进程之间的交换被广泛在分时系统中,进程之间的交换被广泛使用 。使用 。

Page 35: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.1.6 5.1.6 分区的存储保护分区的存储保护 在多用户或多道程序运行的情况下,在多用户或多道程序运行的情况下,

存储空间往往是按区分配给各道程序使用存储空间往往是按区分配给各道程序使用的。必须由硬件保证每道程序只能在给定的。必须由硬件保证每道程序只能在给定的区域内活动,这种措施称为存储保护。的区域内活动,这种措施称为存储保护。常用的存储保护方法有界限寄存器方法和常用的存储保护方法有界限寄存器方法和存储保护键方法。存储保护键方法。

Page 36: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

11 .界限寄存器方法.界限寄存器方法• 有以下两种实现方式。有以下两种实现方式。

Page 37: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 11 )上、下界寄存器方法)上、下界寄存器方法– 为每一个作业的主存空间设置一为每一个作业的主存空间设置一

对上、下界寄存器,分别存放作业的对上、下界寄存器,分别存放作业的结束地址和开始地址。结束地址和开始地址。

Page 38: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 在作业运行过程中,产生每一个在作业运行过程中,产生每一个访问主存的物理地址访问主存的物理地址 DD 时,硬件都将时,硬件都将该物理地址该物理地址 DD 与上、下界比较,正常与上、下界比较,正常情况下应满足:下界地址情况下应满足:下界地址≤≤ DD≤≤ 上界地上界地址。址。

– 如果主存的物理地址超出该范围,如果主存的物理地址超出该范围,便产生保护性中断。图便产生保护性中断。图 5-65-6(( aa )。 )。

Page 39: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-6 5-6 界限寄存器保护界限寄存器保护

Page 40: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 22 )基址、限长寄存器方法)基址、限长寄存器方法– 为每一个作业的主存空间设置一为每一个作业的主存空间设置一

对基址、限长寄存器,分别存放作业对基址、限长寄存器,分别存放作业的起始地址和作业地址空间的长度。的起始地址和作业地址空间的长度。在作业运行过程中,产生每一个访问在作业运行过程中,产生每一个访问主存的物理地址主存的物理地址 DD 时,硬件都将该物时,硬件都将该物理地址理地址 DD 与限长寄存器比较,正常情与限长寄存器比较,正常情况下应满足:况下应满足: DD -基址-基址≤≤限长。图限长。图 5-5-66(( bb ) 。) 。

Page 41: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .存储保护键方法.存储保护键方法 基本思想是系统对每一作业和进程进行基本思想是系统对每一作业和进程进行

内存分配时,对同一作业中各个页面对应内存分配时,对同一作业中各个页面对应的内存块指定一个相同的键码,该键码不的内存块指定一个相同的键码,该键码不能与其他作业的键码相重。 该键码保存在能与其他作业的键码相重。 该键码保存在快速寄存器和该作业的程序状态字(快速寄存器和该作业的程序状态字( PSPSWW )中,当程序要访问某一块时,将程序)中,当程序要访问某一块时,将程序状态字中的键码与被访问块的键码进行比状态字中的键码与被访问块的键码进行比较,若相符,表明允许本次访问,否则发较,若相符,表明允许本次访问,否则发出越界中断。出越界中断。

Page 42: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.2 5.2 连续分配存储管理连续分配存储管理 分区存储管理是把内存划分为若干个分区存储管理是把内存划分为若干个

大小相等或不相等的分区,除操作系统占大小相等或不相等的分区,除操作系统占用一个分区外,其余每个分区容纳一个用用一个分区外,其余每个分区容纳一个用户程序。可将分区存储管理进一步划分为户程序。可将分区存储管理进一步划分为固定分区存储管理和可变分区存储管理。固定分区存储管理和可变分区存储管理。

Page 43: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.2.1 5.2.1 固定分区存储管理固定分区存储管理 将内存空间划分为若干个固定大小的将内存空间划分为若干个固定大小的

分区,每个分区可以装入一道程序。分区分区,每个分区可以装入一道程序。分区的大小可以不等,但必须事先确定,在程的大小可以不等,但必须事先确定,在程序运行中不能改变。系统需要建立一张分序运行中不能改变。系统需要建立一张分区说明表,用来记录各分区的分区号、分区说明表,用来记录各分区的分区号、分区的大小、分区的起始地址以及状态。 区的大小、分区的起始地址以及状态。

Page 44: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

某个用户程序要装入内存时,由内存分某个用户程序要装入内存时,由内存分配程序检索分区说明表,从表中找出一个配程序检索分区说明表,从表中找出一个能满足要求的尚未分配的分区分配给该程能满足要求的尚未分配的分区分配给该程序,然后修改分区说明表中相应分区表项序,然后修改分区说明表中相应分区表项的状态。若找不到大小足够的分区,则拒的状态。若找不到大小足够的分区,则拒绝为该程序分配内存。当程序执行完毕,绝为该程序分配内存。当程序执行完毕,释放所占用的分区时,只要将对应分区的释放所占用的分区时,只要将对应分区的状态设置为未分配即可。状态设置为未分配即可。

Page 45: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

作业的大小与分区的大小大多数情况下作业的大小与分区的大小大多数情况下是不相等的,使绝大多数已分配的分区中是不相等的,使绝大多数已分配的分区中都有一些存储空间被浪费掉。这些已分配都有一些存储空间被浪费掉。这些已分配给作业的存储空间中未被利用的部分称为给作业的存储空间中未被利用的部分称为“内部碎片”。主存空间不能得到充分的“内部碎片”。主存空间不能得到充分的利用。利用。

Page 46: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.2.2 5.2.2 可变分区存储管理可变分区存储管理 又称动态分区分配,事先不对主存分区,又称动态分区分配,事先不对主存分区,

当作业进入内存时,根据作业的大小动态当作业进入内存时,根据作业的大小动态建立分区,使分区的大小正好适合作业的建立分区,使分区的大小正好适合作业的需要。系统中分区的大小不固定,且分区需要。系统中分区的大小不固定,且分区的数目也不固定。的数目也不固定。

Page 47: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

11 .可变分区管理中的数据结构.可变分区管理中的数据结构• (( 11 )空闲分区表)空闲分区表

– 登记系统中的空闲分区,每个空登记系统中的空闲分区,每个空闲分区对应一个表项,每个表项包括闲分区对应一个表项,每个表项包括的内容有分区号、分区起始地址、分的内容有分区号、分区起始地址、分区大小,如图区大小,如图 5-85-8 所示。所示。

Page 48: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

分区号 大小 起始地址

1 10KB 150KB

2 30KB 160KB

3 50KB 190KB

图图 5-8 5-8 空闲分区表 空闲分区表

Page 49: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 22 )空闲分区链)空闲分区链– 主存中,每一个分区都有相应的主存中,每一个分区都有相应的

分区描述器来说明分区的特征信息。分区描述器来说明分区的特征信息。分区描述器的结构如图分区描述器的结构如图 5-95-9 所示,包所示,包括分配标志(空闲分区为括分配标志(空闲分区为 00 )、分区)、分区大小和勾链字。用链头指针将内存中大小和勾链字。用链头指针将内存中的空闲分区链接起来,构成空闲分区的空闲分区链接起来,构成空闲分区链。图链。图 5-10 5-10

Page 50: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-9 5-9 分区描述分区描述器器

Page 51: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

150KB 0

30KB

190KB

0

10KB

160KB

0

50KB

240KB

队首指针

图图 5-10 5-10 空闲分区链空闲分区链

Page 52: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .分区分配算法.分区分配算法 执行分区分配程序时,依次查找空闲分执行分区分配程序时,依次查找空闲分

区队列中的每一个空闲分区,找到第一个区队列中的每一个空闲分区,找到第一个满足需要的空闲分区就开始实施分割。满足需要的空闲分区就开始实施分割。

Page 53: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

分割,是指如果该分区比作业需求的存分割,是指如果该分区比作业需求的存储量要大,则将该分区的一部分分配给作储量要大,则将该分区的一部分分配给作业,剩下的一部分仍然留在空闲分区表业,剩下的一部分仍然留在空闲分区表(或空闲分区链)中,并需要对空闲分区(或空闲分区链)中,并需要对空闲分区表(或空闲分区链)中有关信息进行修改。表(或空闲分区链)中有关信息进行修改。空闲分区的排序方法形成了以下几种基本空闲分区的排序方法形成了以下几种基本的分区分配算法。的分区分配算法。

Page 54: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 11 )首次适应算法)首次适应算法– 将空闲区按地址递增的次序排列。将空闲区按地址递增的次序排列。

内存分配时,从空闲分区表(或空闲内存分配时,从空闲分区表(或空闲分区链)首开始顺序查找,直到找到分区链)首开始顺序查找,直到找到第一个能满足其大小要求的空闲分区第一个能满足其大小要求的空闲分区为止。按作业的大小划分一块内存空为止。按作业的大小划分一块内存空间给请求者,余下的空闲分区仍留在间给请求者,余下的空闲分区仍留在空闲分区表(或空闲分区链)中。 空闲分区表(或空闲分区链)中。

Page 55: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 特点:优先利用内存低址部分的空特点:优先利用内存低址部分的空闲分区,使内存的高址部分保留一个闲分区,使内存的高址部分保留一个大的空闲分区。使低地址端留下许多大的空闲分区。使低地址端留下许多很小的的空闲分区,难以再利用。 很小的的空闲分区,难以再利用。

Page 56: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 每次分配都是从低址部分开始查每次分配都是从低址部分开始查找分区,增加了查找的开销。从上一找分区,增加了查找的开销。从上一次找到的空闲分区的下一个分区开始次找到的空闲分区的下一个分区开始查找。循环首次适应算法特点:使存查找。循环首次适应算法特点:使存储空间的利用趋于均衡,不致使小的储空间的利用趋于均衡,不致使小的空闲区集中在存储区的一端,但会导空闲区集中在存储区的一端,但会导致缺乏大的空闲分区。 致缺乏大的空闲分区。

Page 57: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 22 )最佳适应算法)最佳适应算法– 将空闲区按大小递增的次序排列。将空闲区按大小递增的次序排列。

进行内存分配时,从空闲分区表(或进行内存分配时,从空闲分区表(或空闲分区链)首开始顺序查找,直到空闲分区链)首开始顺序查找,直到找到第一个能满足其大小要求的空闲找到第一个能满足其大小要求的空闲分区为止。分配给作业的空闲区是一分区为止。分配给作业的空闲区是一个既能满足要求又与作业大小最接近个既能满足要求又与作业大小最接近的分区。剩余的空闲分区仍留在空闲的分区。剩余的空闲分区仍留在空闲分区表(或空闲分区链)中。分区表(或空闲分区链)中。

Page 58: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 特点:如果系统中有与作业大小特点:如果系统中有与作业大小一致的空闲分区,则一定被选中。如一致的空闲分区,则一定被选中。如果没有刚好一致的空间,分配给作业果没有刚好一致的空间,分配给作业的空闲分区也只是比作业稍大,不会的空闲分区也只是比作业稍大,不会出现用一个大分区去接纳一个小作业出现用一个大分区去接纳一个小作业的情况。 的情况。

– 留下许多难以再利用的称为“外留下许多难以再利用的称为“外部碎片”的小空闲区。 部碎片”的小空闲区。

Page 59: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 33 )最坏适应算法)最坏适应算法– 将空闲区按大小递减的次序排列。将空闲区按大小递减的次序排列。

进行内存分配时,首先检查空闲分区进行内存分配时,首先检查空闲分区表(或空闲分区链)的第一个空闲分表(或空闲分区链)的第一个空闲分区,若第一个空闲分区小于所要求的区,若第一个空闲分区小于所要求的大小,则分配失败。否则从该空闲分大小,则分配失败。否则从该空闲分区中分配满足作业大小的分区,余下区中分配满足作业大小的分区,余下的空闲分区仍留在空闲分区表(或空的空闲分区仍留在空闲分区表(或空闲分区链)中。闲分区链)中。

Page 60: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 特点:总是挑选最大的空闲分区特点:总是挑选最大的空闲分区分配给作业,使得分配后留下的空闲分配给作业,使得分配后留下的空闲区仍然很大,仍能接纳其他作业。 区仍然很大,仍能接纳其他作业。

Page 61: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 作业执行结束时,应回收已使用作业执行结束时,应回收已使用完毕的分区。系统根据回收分区的大完毕的分区。系统根据回收分区的大小及首址,在空闲分区表(或空闲分小及首址,在空闲分区表(或空闲分区链)中检查是否有邻接的空闲区,区链)中检查是否有邻接的空闲区,如有相邻空闲区,则合并成为一个大如有相邻空闲区,则合并成为一个大的空闲区,然后修改有关分区的状态的空闲区,然后修改有关分区的状态信息。信息。

Page 62: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.2.3 5.2.3 碎片问题与拼接技术碎片问题与拼接技术 碎片是指那些内存中无法被利用的小空碎片是指那些内存中无法被利用的小空闲区。 闲区。

解决问题的办法之一,是采用拼接(紧解决问题的办法之一,是采用拼接(紧凑)技术。拼接,是指移动存储器中所有凑)技术。拼接,是指移动存储器中所有已分配区到主存的一端,使本来分散的空已分配区到主存的一端,使本来分散的空闲区连成一个大的空闲区。 闲区连成一个大的空闲区。

Page 63: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

两种实现方案。两种实现方案。• 方案一:在某个分区回收时立即进行拼方案一:在某个分区回收时立即进行拼接,使主存中始终保持只有一个分区。接,使主存中始终保持只有一个分区。额外开销加大。额外开销加大。

• 方案二:当找不到足够大的分区,且空方案二:当找不到足够大的分区,且空闲区总容量可以满足作业要求时进行拼闲区总容量可以满足作业要求时进行拼接,但空闲区的管理会变得复杂一些。接,但空闲区的管理会变得复杂一些。

Page 64: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.3 5.3 离散分配存储管理离散分配存储管理 在分区存储管理中,要求把作业放在在分区存储管理中,要求把作业放在

连续的存储空间中,因而产生了碎片问题。连续的存储空间中,因而产生了碎片问题。碎片拼接技术是以花费碎片拼接技术是以花费 CPUCPU 时间为代价的,时间为代价的,这种办法只有在分区数目不多,而且分配这种办法只有在分区数目不多,而且分配不太频繁的情况下才采用。 不太频繁的情况下才采用。

Page 65: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.3.1 5.3.1 页式存储管理页式存储管理 11 .基本思想.基本思想 将主存的存储空间分为一系列大小相等将主存的存储空间分为一系列大小相等

的区域,称为块。相应地,用户作业的程的区域,称为块。相应地,用户作业的程序地址空间也分成一系列大小和块相等的序地址空间也分成一系列大小和块相等的页面,然后将作业的页面放在主存的块中。页面,然后将作业的页面放在主存的块中。

Page 66: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

一般将主存块的大小设置为一般将主存块的大小设置为 22 的幂。的幂。为作业分配存储空间时,总是以块为单位为作业分配存储空间时,总是以块为单位来分配。可以将作业中的任意一页放到主来分配。可以将作业中的任意一页放到主存中的任意一块中。调度作业运行时,必存中的任意一块中。调度作业运行时,必须将其所有页面一次调入主存,若主存中须将其所有页面一次调入主存,若主存中没有足够的物理块,则作业必须等待。没有足够的物理块,则作业必须等待。

Page 67: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

系统为每个进程建立一张页面映像表,系统为每个进程建立一张页面映像表,简称页表。在简单的页式系统中,页表记简称页表。在简单的页式系统中,页表记录相应页在内存中对应的物理块号,如图录相应页在内存中对应的物理块号,如图5-11 5-11 。。

Page 68: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

0页

1页

2页

n页

作业

页号

0

1

2

块号

2

4

7

页表 内存

0

1

2

3

4

5

6

7

图图 5-11 5-11 页式存储页式存储

Page 69: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .逻辑地址的表示.逻辑地址的表示 用户的逻辑地址一般从基址用户的逻辑地址一般从基址 00 开始进行开始进行

编址。每个逻辑地址被分为两部分:页面编址。每个逻辑地址被分为两部分:页面号号 PP 和页内位移和页内位移 WW ,如图,如图 5-12 5-12 。。

页面的大小一般设置为页面的大小一般设置为 22 的幂。 的幂。

Page 70: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-12 5-12 逻辑地址逻辑地址

Page 71: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

33 .地址变换过程.地址变换过程 将用户的逻辑地址转换为对应的主存地将用户的逻辑地址转换为对应的主存地

址,即物理地址。转换需要借助页表来实址,即物理地址。转换需要借助页表来实现。系统中设置了一个页表寄存器,存放现。系统中设置了一个页表寄存器,存放页表在内存的起始地址和页表的长度。某页表在内存的起始地址和页表的长度。某进程执行时,页表始址和长度存入页表寄进程执行时,页表始址和长度存入页表寄存器中。 存器中。

Page 72: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

当进程要访问某个逻辑地址中的数据时,当进程要访问某个逻辑地址中的数据时,地址变换机构自动将逻辑地址分为页号和地址变换机构自动将逻辑地址分为页号和页内位移两部分,再以页号去检索页表。页内位移两部分,再以页号去检索页表。检索前,先将页号与页表长度进行比较,检索前,先将页号与页表长度进行比较,如果超过页表长度,表示本次访问的地址如果超过页表长度,表示本次访问的地址已超越进程的地址空间,系统产生地址越已超越进程的地址空间,系统产生地址越界中断;若未出现越界,由页表始址和页界中断;若未出现越界,由页表始址和页号计算出相应页表项的位置,从中得到该号计算出相应页表项的位置,从中得到该页的物理块号;将物理块号与逻辑地址中页的物理块号;将物理块号与逻辑地址中的页内位移拼接在一起,即形成访问主存的页内位移拼接在一起,即形成访问主存的物理地址。 的物理地址。

Page 73: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

< 页表始址 页表长度

页表始址寄存器 越界中断

逻辑地址

页号 P 页内地址 W

块号 页内地址 W

物理地址 页号 块号

0

1

2

2

4

7

图图 5-13 5-13 分页系统的地址变换机构分页系统的地址变换机构

Page 74: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

44 .联想存储器.联想存储器 页表放在主存中,存取一个数据或一页表放在主存中,存取一个数据或一

条指令需要访问两次内存。一次访问页表,条指令需要访问两次内存。一次访问页表,确定物理地址;第二次根据所得到的物理确定物理地址;第二次根据所得到的物理地址存取数据或指令。地址存取数据或指令。

Page 75: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

为了提高地址变换的速度,可以在地址为了提高地址变换的速度,可以在地址变换机构中设置一个具有并行查找能力的变换机构中设置一个具有并行查找能力的高速缓冲存储器(联想存储器或快表),高速缓冲存储器(联想存储器或快表),在快表中存放当前正在运行进程的最常用在快表中存放当前正在运行进程的最常用的部分页面。具有的部分页面。具有 8~168~16 个表项,页表的个表项,页表的其余部分仍然放在内存中。其余部分仍然放在内存中。

引入快表后的地址变换过程如图引入快表后的地址变换过程如图 5-145-14所示。 所示。

Page 76: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

< 页表始址 页表长度

页表始址寄存器 越界中断

逻辑地址

页号 P 页内地址 W

块号 页内地址 W

物理地址 页号 块号

0

1

2

2

4

7

图图 5-13 5-13 分页系统的地址变换机构分页系统的地址变换机构

Page 77: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.3.2 5.3.2 段式存储管理段式存储管理 在页式管理系统中,实现共享的方法在页式管理系统中,实现共享的方法

是使共享用户地址空间中的页指向相同的是使共享用户地址空间中的页指向相同的块号。在页式系统中,实现共享比较困难。块号。在页式系统中,实现共享比较困难。

Page 78: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

11 .段式存储管理的基本思想.段式存储管理的基本思想 作业的地址空间由若干个逻辑分段组成,作业的地址空间由若干个逻辑分段组成,

每个分段是一组逻辑意义相对完整的信息每个分段是一组逻辑意义相对完整的信息集合,每个分段有自己的名字,并且从集合,每个分段有自己的名字,并且从 00开始编址,采用一段连续的地址空间。整开始编址,采用一段连续的地址空间。整个作业的地址空间是二维的。个作业的地址空间是二维的。

Page 79: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• 图图 5-155-15 以段为单位分配内存,以段为单位分配内存,每段分配一个连续的内存区,但各段之每段分配一个连续的内存区,但各段之间不要求连续。 间不要求连续。

Page 80: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

分段 main (主程序)

0

1KB

0

800B

0

600B

分段 X (子程序)

分段 A (数组)

分段 B (工作区)

0

400B

图图 5-15 5-15 分段地址空间 分段地址空间

Page 81: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .地址变换过程.地址变换过程 为了实现逻辑地址到物理地址的转换,为了实现逻辑地址到物理地址的转换,

系统为每个进程建立一个段表。其中,每系统为每个进程建立一个段表。其中,每个表项描述一个分段的信息。段表中包含个表项描述一个分段的信息。段表中包含段号、段长和该段的起始地址。在系统中段号、段长和该段的起始地址。在系统中设置段表寄存器,用于存放段表起始地址设置段表寄存器,用于存放段表起始地址和段表长度。 和段表长度。

Page 82: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

进行地址变换时,系统将逻辑地址中的进行地址变换时,系统将逻辑地址中的段号与段表的长度进行比较,若段号超过段号与段表的长度进行比较,若段号超过了段表长度,则表示段号越界,于是产生了段表长度,则表示段号越界,于是产生越界中断信号;越界中断信号;

Page 83: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

若未越界,则根据段表起始地址和段若未越界,则根据段表起始地址和段号计算出该段对应表项的位置,从中读出号计算出该段对应表项的位置,从中读出该段在内存中的起始地址,再检查段内位该段在内存中的起始地址,再检查段内位移是否超过段长,若超过,同样发出越界移是否超过段长,若超过,同样发出越界中断信号,若未越界,将该段的起始地址中断信号,若未越界,将该段的起始地址与段内位移相加,得出要访问的物理地址。与段内位移相加,得出要访问的物理地址。也可以使用快表。图也可以使用快表。图 5-175-17 。。

Page 84: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

< 段表始址 段表长度

段表始址寄存器 越界中断

逻辑地址

段号(1) 段内地址(123)

段号 段长

段表

1KB 5KB

起始地址

0

1

2 800KB

600KB 2KB

7KB

2171

物理地址

图图 5-17 5-17 分段存储管理的地址变换过程分段存储管理的地址变换过程

Page 85: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

33 .段的共享与保护.段的共享与保护• 分段系统的一个突出优点是易于实分段系统的一个突出优点是易于实现段的共享 。图现段的共享 。图 5-18 5-18 。。

Page 86: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

180KB

段长 editor

data1

进程 1

editor

data2

进程 2

基址

40KB

80KB

240KB

180KB

段长 基址

50KB

80KB

360KB

editor

data1

data2

80KB

240KB

360KB

410KB

图图 5-18 5-18 分段系统共享示意图分段系统共享示意图

Page 87: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

为了记录有多少个进程需要共享该分段,为了记录有多少个进程需要共享该分段,特设置一个整型变量特设置一个整型变量 countcount 。每当有进程。每当有进程需要调用该共享段时,执行需要调用该共享段时,执行 countcount::=count+1=count+1 的操作,当共享该段的进程不再的操作,当共享该段的进程不再需要时,执行需要时,执行 countcount:: =count−1=count−1 的操作,的操作,只有当只有当 countcount 值为值为 00 时,系统才回收该段时,系统才回收该段占用的分区。占用的分区。

Page 88: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

在多道程序环境下,还必须注意共享段在多道程序环境下,还必须注意共享段中信息的保护问题。当一个作业正从共享中信息的保护问题。当一个作业正从共享段中读取数据时,必须防止另一个进程修段中读取数据时,必须防止另一个进程修改该共享段中的数据。程序被分为代码区改该共享段中的数据。程序被分为代码区和数据区。不能修改的代码称为纯代码或和数据区。不能修改的代码称为纯代码或可重入代码。可重入代码和不能修改的数可重入代码。可重入代码和不能修改的数据都是可以共享的,可修改的数据和代码据都是可以共享的,可修改的数据和代码则不能共享。则不能共享。

Page 89: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

分段管理的保护主要有两种。一种是地分段管理的保护主要有两种。一种是地址越界保护,另一种是存储键保护。址越界保护,另一种是存储键保护。

地址越界保护是通过段表寄存器中段表地址越界保护是通过段表寄存器中段表长度与逻辑地址中的段号比较,判断段号长度与逻辑地址中的段号比较,判断段号是否越界,再利用段表中的段长与逻辑地是否越界,再利用段表中的段长与逻辑地址中的段内位移比较,判断段内位移是否址中的段内位移比较,判断段内位移是否越界。段表中应增设相应的增补位,以指越界。段表中应增设相应的增补位,以指示该段是否允许增长。示该段是否允许增长。

Page 90: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

44 .分段与分页管理的区别.分段与分页管理的区别• 区别主要表现在以下几个方面。区别主要表现在以下几个方面。

–(( 11 )页是信息的物理单位,分页是)页是信息的物理单位,分页是系统管理的需要,是为了减少内存的系统管理的需要,是为了减少内存的碎片,提高内存的利用率;段是信息碎片,提高内存的利用率;段是信息的逻辑单位,含有一组意义相对完整的逻辑单位,含有一组意义相对完整的信息,分段的目的是为了更好地满的信息,分段的目的是为了更好地满足用户的需要。足用户的需要。

Page 91: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

–(( 22 )页的大小固定且由系统决定,)页的大小固定且由系统决定,把逻辑地址划分成页号和页内位移,把逻辑地址划分成页号和页内位移,在系统中只能有一种大小的页面;段在系统中只能有一种大小的页面;段的长度不固定,主要由用户的程序结的长度不固定,主要由用户的程序结构决定,通常由编译程序在编译时根构决定,通常由编译程序在编译时根据信息的性质决定。据信息的性质决定。

Page 92: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

–(( 33 )分页系统中,作业的地址空间)分页系统中,作业的地址空间是一维的;分段系统中,作业的地址是一维的;分段系统中,作业的地址空间是二维的,程序员在标识一个地空间是二维的,程序员在标识一个地址时,既要给出段名,又要给出段内址时,既要给出段名,又要给出段内位移。 位移。

–(( 44 )分段系统中的段长可根据需要)分段系统中的段长可根据需要动态增长 。动态增长 。

Page 93: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.3.3 5.3.3 段页式存储管理段页式存储管理 在段页式存储管理系统中,程序的地在段页式存储管理系统中,程序的地

址空间首先被分成若干个逻辑分段,每段址空间首先被分成若干个逻辑分段,每段都有自己的段号;再将每一段分成若干个都有自己的段号;再将每一段分成若干个大小固定的页。对于主存空间的管理仍然大小固定的页。对于主存空间的管理仍然和分页管理一样,将主存分成若干个和页和分页管理一样,将主存分成若干个和页面大小相等的物理块,对主存的分配以物面大小相等的物理块,对主存的分配以物理块为单位。理块为单位。

Page 94: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

程序的逻辑地址包含程序的逻辑地址包含 33 部分,如图部分,如图 5-5-1919 。 。

需要同时设立段表和页表。系统为每个需要同时设立段表和页表。系统为每个进程建立一张段表,每个分段有一张页表。进程建立一张段表,每个分段有一张页表。

Page 95: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

地址变换时,首先利用段号地址变换时,首先利用段号 SS 与段表与段表寄存器中段表的长度进行比较,若小于段寄存器中段表的长度进行比较,若小于段表的长度,则表示未越界,可利用段表起表的长度,则表示未越界,可利用段表起始地址和段号求出该段对应段表项的位置,始地址和段号求出该段对应段表项的位置,得到该段的页表始址,再利用逻辑地址中得到该段的页表始址,再利用逻辑地址中的段内页号的段内页号 PP 获得对应表项的位置,读出获得对应表项的位置,读出该页所在的物理块号,页内位移该页所在的物理块号,页内位移 WW 拼接形拼接形成物理地址。成物理地址。

Page 96: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.4 5.4 虚拟存储管理虚拟存储管理 虚拟存储器,是指具有请求调入功能虚拟存储器,是指具有请求调入功能

和置换功能,能从逻辑上对主存容量进行和置换功能,能从逻辑上对主存容量进行扩充的一种存储器系统。扩充的一种存储器系统。

Page 97: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.4.1 5.4.1 请求分页存储管理请求分页存储管理 11 .请求分页存储管理的基本思想.请求分页存储管理的基本思想

• 一种虚拟存储系统,在作业地址一种虚拟存储系统,在作业地址空间的分页、存储空间的分块等概念上空间的分页、存储空间的分块等概念上与分页存储管理完全一样,只是增加了与分页存储管理完全一样,只是增加了请求调页、页面置换等功能。 请求调页、页面置换等功能。

Page 98: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .页表结构.页表结构• 要对分页存储管理中的页表表项要对分页存储管理中的页表表项进行扩充。图进行扩充。图 5-205-20 。。

图图 5-20 5-20 扩充后的页表扩充后的页表

Page 99: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• ① ① 状态位。状态位。• ② ② 访问位。访问位。• ③ ③ 修改位。修改位。• ④ ④ 辅存地址。 辅存地址。

Page 100: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

33 .地址变换与缺页中断.地址变换与缺页中断• 若访问的页面在内存,其地址变若访问的页面在内存,其地址变换过程与分页存储管理相同,若访问的换过程与分页存储管理相同,若访问的页不在内存,先将该页调入内存,再按页不在内存,先将该页调入内存,再按分页存储管理方法进行地址变换。分页存储管理方法进行地址变换。

Page 101: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

当系统发现所访问的页不在内存时,产当系统发现所访问的页不在内存时,产生一个缺页中断信号。缺页中断处理程序生一个缺页中断信号。缺页中断处理程序根据该页在外存的地址把该页调入内存。根据该页在外存的地址把该页调入内存。在调页的过程中,若内存有空闲区,缺页在调页的过程中,若内存有空闲区,缺页中断处理程序只需把缺页装入任何一个空中断处理程序只需把缺页装入任何一个空闲块中,再对页表中相应的表项进行修改。闲块中,再对页表中相应的表项进行修改。若内存中无空闲区,必须先淘汰内存中的若内存中无空闲区,必须先淘汰内存中的某些页,如果被淘汰页曾被修改过,要将某些页,如果被淘汰页曾被修改过,要将其回写到外存。缺页中断处理流程如图其回写到外存。缺页中断处理流程如图 5-5-2121 所示。所示。

Page 102: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

44 .页面分配和置换策略.页面分配和置换策略• 为进程分配物理块的方法如下。为进程分配物理块的方法如下。

–(( 11 )平均分配。)平均分配。–(( 22 )按比例分配。)按比例分配。–(( 33 )考虑优先权的分配。 )考虑优先权的分配。

Page 103: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

页面分配可有固定分配和可变分配两页面分配可有固定分配和可变分配两种方法外,页面置换也可以有全局置换和种方法外,页面置换也可以有全局置换和局部置换两种方法。组合起来,可以形成局部置换两种方法。组合起来,可以形成以下以下 33 种策略。种策略。

Page 104: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

–(( 11 )固定分配局部置换。为每个进)固定分配局部置换。为每个进程分配固定数量的物理块,在进程的程分配固定数量的物理块,在进程的整个运行期间,该进程拥有的物理块整个运行期间,该进程拥有的物理块数目不改变。缺页,只能将该进程的数目不改变。缺页,只能将该进程的某个页面淘汰,再调入缺页。困难在某个页面淘汰,再调入缺页。困难在于难以确定应该为每个进程分配多少于难以确定应该为每个进程分配多少个物理块。 个物理块。

Page 105: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

–(( 22 )可变分配全局置换。先为系统)可变分配全局置换。先为系统中的每一个进程分配一定数量的物理中的每一个进程分配一定数量的物理块,操作系统本身保持一个空闲物理块,操作系统本身保持一个空闲物理块队列。当某个进程缺页时,从空闲块队列。当某个进程缺页时,从空闲队列中取出一个物理块分配给该进程,队列中取出一个物理块分配给该进程,再将缺页装入其中。凡产生缺页的进再将缺页装入其中。凡产生缺页的进程都将获得新的物理块。当空闲队列程都将获得新的物理块。当空闲队列的物理块用完时,系统从内存中选择的物理块用完时,系统从内存中选择合适的页面淘汰。合适的页面淘汰。

Page 106: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

–(( 33 )可变分配局部置换。为每个进)可变分配局部置换。为每个进程分配一定数量的物理块,当某进程程分配一定数量的物理块,当某进程在运行过程中缺页时,只允许从该进在运行过程中缺页时,只允许从该进程挑选一个页面淘汰,这样不会影响程挑选一个页面淘汰,这样不会影响其他进程的运行。如果某个进程频繁其他进程的运行。如果某个进程频繁地发生缺页中断,系统再给该进程分地发生缺页中断,系统再给该进程分配若干个物理块,直到进程的缺页率配若干个物理块,直到进程的缺页率降低到适当程度为止。降低到适当程度为止。

Page 107: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

55 .页面置换算法.页面置换算法• 选择淘汰页面的方法。主存和辅存选择淘汰页面的方法。主存和辅存之间频繁地进行页面置换,使系统把大之间频繁地进行页面置换,使系统把大部分时间用在页面的调入换出上,导致部分时间用在页面的调入换出上,导致系统效率急剧下降。抖动。系统效率急剧下降。抖动。

Page 108: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• 几种常用的页面置换算法。几种常用的页面置换算法。–(( 11 )最优算法()最优算法( OPTOPT ))

在主存中选择不再使用或者是最远的在主存中选择不再使用或者是最远的将来才使用的页面予以淘汰。难以实现。 将来才使用的页面予以淘汰。难以实现。

Page 109: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• 例例 5-1 5-1 假定系统为某进程分配假定系统为某进程分配 33个物理块。进程运行时的页面走向为个物理块。进程运行时的页面走向为 44 、、33 、、 22 、、 11 、、 44 、、 33 、、 55 、、 44 、、 33 、、 22 、、11 、、 55 ,开始时,开始时 33 个物理块均为空。个物理块均为空。

• 采用最优置换算法时,页面的置采用最优置换算法时,页面的置换情况如表换情况如表 5-15-1 所示。所示。

Page 110: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

页面走页面走向向 44 33 22 11 44 33 55 44 33 22 11 55

物理块物理块11

44 44 44 44 44 44 44 44 44 22 22 22

物理块物理块22

33 33 33 33 33 33 33 33 33 11 11

物理块物理块33

22 11 11 11 55 55 55 55 55 55

缺页缺页 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺

表表 5-15-1 页面置换情况(页面置换情况( OPTOPT ))

77 次缺页,缺页率为次缺页,缺页率为 7/127/12 == 5858%。%。

Page 111: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

–(( 22 )先进先出()先进先出( FIFOFIFO )算法)算法 总是选择在主存中驻留时间最长的页面总是选择在主存中驻留时间最长的页面予以淘汰,指导思想是最早进入主存的页予以淘汰,指导思想是最早进入主存的页面,其不再使用的可能性要大一些。面,其不再使用的可能性要大一些。

例例 5-15-1 中采用先进先出置换算法时页中采用先进先出置换算法时页面的置换情况如表面的置换情况如表 5-25-2 所示。所示。

Page 112: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

页面走页面走向向 44 33 22 11 44 33 55 44 33 22 11 55

物理块物理块11

44 44 44 11 11 11 55 55 55 55 55 55

物理块物理块22

33 33 33 44 44 44 44 44 22 22 22

物理块物理块33

22 22 22 33 33 33 33 33 11 11

缺页缺页 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺

表表 5-25-2 页面置换情况(页面置换情况( FIFOFIFO ))

共发生了 9 次缺页,其缺页率为 9/12 = 75%。

Page 113: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

» 分配给进程的页面数越多,分配给进程的页面数越多,缺页次数反而增加的异常现象。颠缺页次数反而增加的异常现象。颠簸(簸( BeladyBelady )。)。

Page 114: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 33 )最近最久未使用()最近最久未使用( LRULRU )算法)算法– 选择最近一段时间内最长时间没选择最近一段时间内最长时间没

有被访问过的页面予以淘汰。指导思有被访问过的页面予以淘汰。指导思想是若某个页面最近被访问过,再次想是若某个页面最近被访问过,再次访问的可能性要大些;若某页面长时访问的可能性要大些;若某页面长时间未被访问,则最近一段时间内也不间未被访问,则最近一段时间内也不会访问。表会访问。表 5-35-3 所示。所示。

Page 115: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

页面走页面走向向 44 33 22 11 44 33 55 44 33 22 11 55

物理块物理块11

44 44 44 11 11 11 55 55 55 22 22 22

物理块物理块22

33 33 33 44 44 44 44 44 44 11 11

物理块物理块33

22 22 22 33 33 33 33 33 33 55

缺页缺页 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺 缺缺

表表 5-35-3 页面置换情况(页面置换情况( LRULRU ))

共发生了共发生了 1010 次缺页,其缺页率为次缺页,其缺页率为 10/1210/12 == 8383%。 %。

Page 116: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

» 问题是如何找出最近最久未问题是如何找出最近最久未使用的页面,常用一些简单而有效使用的页面,常用一些简单而有效的方法来实现。的方法来实现。

Page 117: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

» ① ① 利用一个特殊的栈保存当前使利用一个特殊的栈保存当前使用的页号,每当进程访问页面时,用的页号,每当进程访问页面时,把被访问的页面移到栈顶,栈底的把被访问的页面移到栈顶,栈底的页面是最近最久未使用的页面。页面是最近最久未使用的页面。

Page 118: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

» ② ② 为内存中每个页面配置一个移为内存中每个页面配置一个移位寄存器,表示为位寄存器,表示为R=RR=Rnn−1R−1Rnn−2…R0−2…R0 ,当进程访问,当进程访问某物理块时,将寄存器某物理块时,将寄存器 RRnn−1−1 位置位置为为 11 ,定时信号每隔一定时间将寄,定时信号每隔一定时间将寄存器右移一位并将最高位补存器右移一位并将最高位补 00 。则。则具有最小数值的寄存器对应的页面,具有最小数值的寄存器对应的页面,即最近最久未使用的页面。即最近最久未使用的页面。

Page 119: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

» ③ ③ 为每页设置一个访问位,当某为每页设置一个访问位,当某页被访问时,系统将访问位置为页被访问时,系统将访问位置为 11 。。为每页设置一个访问计数器,每当为每页设置一个访问计数器,每当页面被访问时,该页的访问计数器页面被访问时,该页的访问计数器加加 11 。发生缺页中断时,淘汰计数。发生缺页中断时,淘汰计数器值最小的页面,并将所有计数器器值最小的页面,并将所有计数器清清 00 。。

Page 120: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.4.2 5.4.2 请求分段存储管理请求分段存储管理 作业的各分段的副本都保存在辅存中。作业的各分段的副本都保存在辅存中。

运行时,先把当前需要的一段或几段调入运行时,先把当前需要的一段或几段调入内存,其他段在需要时再调入。段表内容内存,其他段在需要时再调入。段表内容如图如图 5-225-22 所示。所示。

Page 121: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-22 5-22 扩充后的段表扩充后的段表

Page 122: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.5 Windows 20005.5 Windows 2000 的存储管理的存储管理5.5.1 Windows 20005.5.1 Windows 2000 的内存管理的内存管理

内存管理是执行体的一部分,位于内存管理是执行体的一部分,位于NtosKrnl.exeNtosKrnl.exe 文件中,由一组执行体系统文件中,由一组执行体系统服务程序、一个转换无效和访问错误陷阱服务程序、一个转换无效和访问错误陷阱的处理程序组成。 的处理程序组成。

Page 123: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

NtosKrnl.exeNtosKrnl.exe 文件中还有运行在文件中还有运行在 66 个个不同核心态系统线程上下文中的几个关键不同核心态系统线程上下文中的几个关键组件:工作集管理器、进程组件:工作集管理器、进程 //堆栈交换程堆栈交换程序、已修改页面写入器、映射页面写入器、序、已修改页面写入器、映射页面写入器、废弃段线程、零页线程。 废弃段线程、零页线程。

Page 124: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

11.. Windows 2000Windows 2000 的地址空间布局的地址空间布局 默认情况下,每个用户进程可以占有默认情况下,每个用户进程可以占有

2GB2GB 的私有地址空间,操作系统占有剩下的私有地址空间,操作系统占有剩下的的 2GB2GB 地址空间。高级服务器和数据中心地址空间。高级服务器和数据中心服务器支持一个引导选项,允许用户拥有服务器支持一个引导选项,允许用户拥有3GB3GB 的地址空间,操作系统拥有的地址空间,操作系统拥有 1GB1GB 的的地址空间。提供一个称为地址窗口扩充地址空间。提供一个称为地址窗口扩充(( AWEAWE )的函数集,使)的函数集,使 3232 位进程能够访位进程能够访问更多的物理内存。 问更多的物理内存。

Page 125: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

22 .地址转换机制.地址转换机制 用户应用程序以用户应用程序以 3232 位虚地址方式编址。位虚地址方式编址。

CPUCPU 利用内存管理器创建和维护的数据结利用内存管理器创建和维护的数据结构,将虚拟地址变换为物理地构,将虚拟地址变换为物理地址。址。 Windows 2000Windows 2000在在 x86x86体系结构上利体系结构上利用二级页表结构实现虚拟地址到物理地址用二级页表结构实现虚拟地址到物理地址的变换。一个的变换。一个 3232 位虚拟地址被解释为位虚拟地址被解释为 33 个个独立的分量:页目录索引、页表索引和字独立的分量:页目录索引、页表索引和字节索引,如图节索引,如图 5-235-23 所示。所示。

Page 126: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

图图 5-23 x865-23 x86 系统中一个系统中一个 3232 位虚拟地址的构成位虚拟地址的构成

Page 127: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

33.. Windows 2000Windows 2000 的页面调度策略的页面调度策略 利用请求页面调度算法以及簇方式将页利用请求页面调度算法以及簇方式将页

面装入内存。当线程产生一次缺页中断时,面装入内存。当线程产生一次缺页中断时,内存管理器将引发中断的页面及后续的少内存管理器将引发中断的页面及后续的少量页面(页面簇)装入内存。量页面(页面簇)装入内存。

Page 128: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

缺省页面读取簇的规模大小取决于物缺省页面读取簇的规模大小取决于物理内存的大小。如果发生缺页中断时物理理内存的大小。如果发生缺页中断时物理内存已满,置换策略将确定哪个页面必须内存已满,置换策略将确定哪个页面必须从内存中移出,以便为新的页面腾出空位。从内存中移出,以便为新的页面腾出空位。

Page 129: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

多处理器系统中,采用局部先进先出置多处理器系统中,采用局部先进先出置换策略。在单处理器系统中,页面调度的换策略。在单处理器系统中,页面调度的实现更接近最近最久未使用策略。为每一实现更接近最近最久未使用策略。为每一个进程分配一定数量的称为工作集的物理个进程分配一定数量的称为工作集的物理块(可动态调整),系统初始化时,基于块(可动态调整),系统初始化时,基于物理内存的大小来计算工作集的大小。内物理内存的大小来计算工作集的大小。内存大于存大于 32MB32MB ,缺省的工作集最小为,缺省的工作集最小为 5050页,最大为页,最大为 345345 页。 页。

Page 130: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

44.. Windows 2000Windows 2000 的内存保护机制的内存保护机制• 防止用户有意或无意地破坏另一防止用户有意或无意地破坏另一进程或操作系统的地址空间。进程或操作系统的地址空间。

Page 131: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

内存保护的基本方式为:系统范围内核内存保护的基本方式为:系统范围内核心态组件使用的数据结构和内存缓冲池只心态组件使用的数据结构和内存缓冲池只能在核心态下访问,用户态线程不能访问能在核心态下访问,用户态线程不能访问这些页面;每个进程有一个独立、私有的这些页面;每个进程有一个独立、私有的地址空间,禁止其他进程的线程访问(共地址空间,禁止其他进程的线程访问(共享页面除外);享页面除外);

Page 132: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

提供一些硬件内存保护措施;共享内提供一些硬件内存保护措施;共享内存区域对象具有标准的存区域对象具有标准的 Windows 2000Windows 2000 存存取控制表(取控制表( ACLACL ),当进程试图打开它们),当进程试图打开它们时检查时检查 ACLACL ,使共享内存的访问也限制在,使共享内存的访问也限制在具有适当权限的进程中。具有适当权限的进程中。

Page 133: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.5.2 Windows 20005.5.2 Windows 2000 的外存管理的外存管理 关于硬盘存储子系统,关于硬盘存储子系统, Windows Windows

20002000 引入了基本盘和动态盘的概念。基本引入了基本盘和动态盘的概念。基本盘是盘是 DOSDOS 分区方式的磁盘,动态盘可实现分区方式的磁盘,动态盘可实现比基本盘更具适应性的分区机制,支持创比基本盘更具适应性的分区机制,支持创建新的多分区卷。建新的多分区卷。

Page 134: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

基本盘的多分区卷配置信息保存在注基本盘的多分区卷配置信息保存在注册表中;动态盘的多分区配置信息保存在册表中;动态盘的多分区配置信息保存在磁盘中,可以把动态盘及其描述的存储介磁盘中,可以把动态盘及其描述的存储介质联系在一起,使数据不容易丢失,并且质联系在一起,使数据不容易丢失,并且在系统之间移动磁盘也变得更简单。在系统之间移动磁盘也变得更简单。

Page 135: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

Windows 2000Windows 2000 把所有磁盘当做基本把所有磁盘当做基本盘来管理,逻辑管理子系统(盘来管理,逻辑管理子系统( LDMLDM )负责)负责管理动态盘。管理动态盘。

Page 136: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.5.3 5.5.3 高速缓存管理高速缓存管理 一组核心态的函数和系统线程,与内存一组核心态的函数和系统线程,与内存

管理器一起为所有管理器一起为所有 Windows 2000Windows 2000 文件系文件系统驱动程序提供高速缓存。统驱动程序提供高速缓存。

Page 137: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

几个特征几个特征• (( 11 )单一集中式系统高速缓存)单一集中式系统高速缓存

– 提供一个集中的高速缓存工具来缓提供一个集中的高速缓存工具来缓存所有的外部存储数据 存所有的外部存储数据

Page 138: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 22 )与内存管理器相结合)与内存管理器相结合– 通过映射文件实现基于虚拟地址通过映射文件实现基于虚拟地址

空间的高速缓存,高速缓存管理器在空间的高速缓存,高速缓存管理器在访问缓存中文件的数据时,避免产生访问缓存中文件的数据时,避免产生读写读写 I/OI/O 请求包,仅仅在内存和被缓请求包,仅仅在内存和被缓存的文件部分所映射的虚拟地址之间存的文件部分所映射的虚拟地址之间拷贝数据,并依靠内存管理器处理页。拷贝数据,并依靠内存管理器处理页。

Page 139: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 33 )高速缓存的一致性)高速缓存的一致性– 高速缓存管理器和用户程序使用高速缓存管理器和用户程序使用

相同的内存管理文件映射服务,将文相同的内存管理文件映射服务,将文件映射到它们的地址空间,而内存管件映射到它们的地址空间,而内存管理器保证每一个被映射文件的惟一性。理器保证每一个被映射文件的惟一性。

Page 140: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 44 )虚拟块缓存)虚拟块缓存– 用一种虚拟缓存方式管理器对缓用一种虚拟缓存方式管理器对缓

存中文件的某些部分进行追踪。存中文件的某些部分进行追踪。

Page 141: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 55 )基于流的缓存)基于流的缓存– 高速缓存管理器与文件缓存相对高速缓存管理器与文件缓存相对

应,设计了字节流的缓存。高速缓存应,设计了字节流的缓存。高速缓存管理器通过独立地缓存每一个字节流管理器通过独立地缓存每一个字节流来适应这些文件系统。来适应这些文件系统。

Page 142: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

• (( 66 )可恢复文件系统支持)可恢复文件系统支持– 在系统失败后可以修复磁盘卷结在系统失败后可以修复磁盘卷结

构。构。– 高速缓存管理器提供一种高速、高速缓存管理器提供一种高速、智能的机制,用以减少磁盘智能的机制,用以减少磁盘 I/OI/O 、增、增加系统的整体吞吐量。加系统的整体吞吐量。

Page 143: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

– 基于虚拟块的高速缓存,使基于虚拟块的高速缓存,使Windows 2000Windows 2000 的高速缓存管理能够的高速缓存管理能够进行智能预读。依靠全局内存管理器进行智能预读。依靠全局内存管理器的映射文件机制访问数据,高速缓存的映射文件机制访问数据,高速缓存管理器提供特殊的快速管理器提供特殊的快速 I/OI/O 机制,减机制,减少了用于读写操作的时间,而且将与少了用于读写操作的时间,而且将与物理内存有关的管理工作交给了物理内存有关的管理工作交给了Windows 2000Windows 2000 全局内存管理器,减全局内存管理器,减少了代码的冗余,提高了效率。少了代码的冗余,提高了效率。

Page 144: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

5.6 5.6 案 例 分 析案 例 分 析 例例 5-2 5-2 缺页中断与一般中断的主要区缺页中断与一般中断的主要区别是什么别是什么 ??

Page 145: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

例例 5-3 5-3 表表 5-45-4 给出了某系统的空闲存给出了某系统的空闲存储分区表,系统采用可变分区存储管理策储分区表,系统采用可变分区存储管理策略。现有一个作业序列:略。现有一个作业序列: 95KB95KB,, 20KB20KB,,210KB210KB 。用首次适应算法和最佳适应算法。用首次适应算法和最佳适应算法来处理该作业序列,哪一种算法能接纳该来处理该作业序列,哪一种算法能接纳该作业请求?为什么?画出分配后的内存空作业请求?为什么?画出分配后的内存空闲分区表。(分割内存时从高址处开始分闲分区表。(分割内存时从高址处开始分割)割)

Page 146: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

分 区 号分 区 号 大 小大 小 起 始 地 址起 始 地 址

11 34KB34KB 100KB100KB

22 10KB10KB 150KB150KB

33 5KB5KB 200KB200KB

44 228KB228KB 250KB250KB

55 95KB95KB 430KB430KB

表表 5-45-4 空闲分区表空闲分区表

Page 147: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

例例 5-5 5-5 一个进程被分配了一个进程被分配了 44 个内存块。个内存块。表表 5-85-8 列出这列出这 44 个内存块存放的页面号、个内存块存放的页面号、各页面被装入内存块的时间、各页面最近各页面被装入内存块的时间、各页面最近被访问的时间、各页面的访问位和修改位被访问的时间、各页面的访问位和修改位(时间从进程启动时开始计算)。假如发(时间从进程启动时开始计算)。假如发生一个访问页号为生一个访问页号为 44 的页面缺页中断,试的页面缺页中断,试分别用先进先出算法、最近最久未使用算分别用先进先出算法、最近最久未使用算法、淘汰未访问且未修改页面算法来确定法、淘汰未访问且未修改页面算法来确定被淘汰页面。被淘汰页面。

Page 148: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

页 号页 号 块 号块 号 装 入 时 装 入 时 间间

引 用 时 引 用 时 间间

访 问 访 问 位位

修 改 修 改 位位

22 11 5050 151151 00 11

11 22 120120 150150 00 00

00 33 2525 152152 11 00

33 44 2020 153153 11 11

表表 5-85-8 内存块信息表内存块信息表

Page 149: 第 5 章  存储管理

LOGO

www.ptpress.com.cnwww.ptpress.com.cn

例例 5-6 5-6 在内存管理中,内部碎片和外在内存管理中,内部碎片和外部碎片各指的是什么?在固定分区分配、部碎片各指的是什么?在固定分区分配、可变分区分配、页式虚拟存储系统、段式可变分区分配、页式虚拟存储系统、段式虚拟存储系统中,各存在何种碎片?为什虚拟存储系统中,各存在何种碎片?为什么? 么?

Page 150: 第 5 章  存储管理