一、单项选择题

2026 旧版 · 非 2027 主源 · 原书检索 · 文字用于定位,公式与图表请回原页核验 · 本次导入快照

A. 2
B. 3
C. 4
D. 5

59. 若对经典的页式存储管理方式的页表做出稍微改造,允许不同页表的页表项指向同一个


<!-- page: 209 -->

页帧,则可能的结果有( )。

I. 可以实现对可重入代码的共享
II. 只需修改页表项,就能实现内存“复制”操作
III. 容易发生越界访问
IV. 可以实现进程间通信

A. I、II、IV
B. II、III
C. I、II、III
D. 仅I

60. 【2009 统考真题】分区分配内存管理方式的主要保护措施是( )。

A. 界地址保护
B. 程序代码保护
C. 数据保护
D. 栈保护

61. 【2009 统考真题】一个分段存储管理系统中,地址长度为 32 位,其中段号占 8 位,则最大段长是( )。

A. 2⁸B
B. 2¹⁶B
C. 2²⁴B
D. 2³²B

62. 【2010 统考真题】某基于动态分区存储管理的计算机,其主存容量为 55MB(初始为空),采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配 15MB,分配 30MB,释放 15MB,分配 8MB,分配 6MB,此时主存中最大空闲分区的大小是( )。

A. 7MB
B. 9MB
C. 10MB
D. 15MB

63. 【2010 统考真题】某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为 2¹⁰B,页表项大小为 2B,逻辑地址结构为

[tbl-76.md](tbl-76.md)

逻辑地址空间大小为 2¹⁶ 页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( )。

A. 64
B. 128
C. 256
D. 512

64. 【2011 统考真题】在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是( )。

A. 编辑
B. 编译
C. 链接
D. 装载

65. 【2014 统考真题】下列选项中,属于多级页表优点的是( )。

A. 加快地址变换速度
B. 减少缺页中断次数
C. 减少页表项所占字节数
D. 减少页表所占的连续内存空间

66. 【2016 统考真题】某进程的段表内容如下所示。

[tbl-77.md](tbl-77.md)

访问段号为 2、段内地址为 400 的逻辑地址时,进行地址转换的结果是( )。

A. 段缺失异常
B. 得到内存地址 4400
C. 越权异常
D. 越界异常

67. 【2017 统考真题】某计算机按字节编址,其动态分区内存管理采用最佳适应算法,每次分配和回收内存后都对空闲分区链重新排序。当前空闲分区信息如下表所示。

[tbl-78.md](tbl-78.md)

回收始址为 60K、大小为 140KB 的分区后,系统中空闲分区的数量、空闲分区链第一个分区的始址和大小分别是( )。


<!-- page: 210 -->

A. 3,20K,380KB
B. 3,500K,80KB
C. 4,20K,180KB
D. 4,500K,80KB

68.【2019统考真题】在分段存储管理系统中,用共享段表描述所有被共享的段。若进程 P₁ 和 P₂ 共享段 S,则下列叙述中,错误的是( )。

A. 在物理内存中仅保存一份段 S 的内容
B. 段 S 在 P₁ 和 P₂ 中应该具有相同的段号
C. P₁ 和 P₂ 共享段 S 在共享段表中的段表项
D. P₁ 和 P₂ 都不再使用段 S 时才回收段 S 所占的内存空间

69.【2019统考真题】某计算机主存按字节编址,采用二级分页存储管理,地址结构如下:

[tbl-79.md](tbl-79.md)

虚拟地址 2050 1225H 对应的页目录号,页号分别是( )。

A. 081H, 101H
B. 081H, 401H
C. 201H, 101H
D. 201H, 401H

70.【2019统考真题】在下列动态分区分配算法中,最容易产生内存碎片的是( )。

A. 首次适应算法
B. 最坏适应算法
C. 最佳适应算法
D. 循环首次适应算法

71.【2021统考真题】在采用二级页表的分页系统中,CPU 页表基址寄存器中的内容是( )。

A. 当前进程的一级页表的起始虚拟地址
B. 当前进程的一级页表的起始物理地址
C. 当前进程的二级页表的起始虚拟地址
D. 当前进程的二级页表的起始物理地址

72.【2023统考真题】进程 R 和 S 共享数据 data,若 data 在 R 和 S 中所在页的页号分别为 p1 和 p2,两个页所对应的页框号分别为 f1 和 f2,则下列叙述中,正确的是( )。

A. p1 和 p2 一定相等,f1 和 f2 一定相等
B. p1 和 p2 一定相等,f1 和 f2 不一定相等
C. p1 和 p2 不一定相等,f1 和 f2 一定相等
D. p1 和 p2 不一定相等,f1 和 f2 不一定相等

73.【2024统考真题】下列算法中,每次回收分区时仅合并大小相等的空闲分区的是( )。

A. 伙伴算法
B. 最佳适应算法
C. 最坏适应算法
D. 首次适应算法

二、综合应用题 公众号:小兔网盘免费分享无水印PDF

01. 某系统的空闲分区见下表,采用动态分区管理策略,现有如下作业序列:96KB, 20KB, 200KB。若用首次适应算法和最佳适应算法来处理这些作业序列,则哪种算法能满足该作业序列请求?为什么?

[tbl-80.md](tbl-80.md)

02. 某操作系统采用段式管理,用户区主存为 512KB,空闲块链入空块表,分配时截取空块的前半部分(小地址部分)。初始时全部空闲。执行申请、释放操作序列 reg(300KB), reg(100KB), release(300KB), reg(150KB), reg(50KB), reg(90KB) 后:

1)采用最先适配,空块表中有哪些空块?(指出大小及始址)
2)采用最佳适配,空块表中有哪些空块?(指出大小及始址)


<!-- page: 211 -->

3)若随后又要申请80KB,针对上述两种情况会产生什么后果?这说明了什么问题?

03. 下图给出了页式和段式两种地址变换示意(假定段式变换对每段不进行段长越界检查,即段表中无段长信息)。



1)指出这两种变换各属于何种存储管理。
2)计算出这两种变换所对应的物理地址。

04. 在一个段式存储管理系统中,其段表见下表A。试求表B中的逻辑地址所对应的物理地址。

表 A 段表

[tbl-81.md](tbl-81.md)

表 B 逻辑地址

[tbl-82.md](tbl-82.md)

05. 页式存储管理允许用户的编程空间为 32 个页面(每页 1KB),主存为 16KB。如有一用户程序为 10 页长,且某个时刻该用户程序页表见下表。

[tbl-83.md](tbl-83.md)

若分别遇到三个逻辑地址 0AC5H, 1AC5H, 3AC5H 处的操作,计算并说明存储管理系统将如何处理。

06. 在某页式管理系统中,假定主存为 64KB,分成 16 个页框,页框号为 0, 1, 2, …, 15。设某进程有 4 页,其页号为 0, 1, 2, 3,被分别装入主存的第 9, 0, 1, 14 号页框。

1)该进程的总长度是多大?
2)写出该进程每页在主存中的始址。
3)若给出逻辑地址(0, 0), (1, 72), (2, 1023), (3, 99),请计算出相应的内存地址(括号内的第一个数为十进制页号,第二个数为十进制页内地址)。

07. 某操作系统存储器采用页式存储管理,页面大小为 64B,假定一进程的代码段的长度为 702B,页表见表 A,该进程在快表中的页表见表 B。现进程有如下访问序列:其逻辑地址为八进制的 0105, 0217, 0567, 01120, 02500。试问给定的这些地址能否进行转换?


<!-- page: 212 -->

表 A 进程页表

[tbl-84.md](tbl-84.md)

表 B 快表

[tbl-85.md](tbl-85.md)

08. 在某页式系统中,假设在查找主存页表的过程中不发生缺页的情况,请回答:

1)若对主存的一次存取需 $1.5\mu \mathrm{s}$,问实现一次页面访问时存取时间是多少?
2)若系统有快表且其平均命中率为 $85\%$,而页表项在快表中的查找时间可忽略不计,试问此时的存取时间为多少?

09. 在页式、段式和段页式存储管理中,假设不发生缺页异常,当访问一条指令或数据时,备需要访问内存几次?其过程如何?假设一个页式存储系统具有快表,多数活动页表项都可以存在其中。若页表存放在内存中,内存访问时间是 $1\mu \mathrm{s}$,检索快表的时间为 $0.2\mu \mathrm{s}$,若快表的命中率是 $85\%$,则有效存取时间是多少?若快表的命中率为 $50\%$,则有效存取时间是多少?

10. 在一个分页存储管理系统中,地址空间分页(每页1KB),物理空间分块,设主存总容量是256KB,描述主存分配情况的位示图如下图所示(0表示未分配,1表示已分配),此时作业调度程序选中一个长为5.2KB的作业投入内存。试问:

1)为该作业分配内存后(分配内存时,首先分配低地址的内存空间),请填写该作业的页表内容。
2)页式存储管理有无内存碎片存在?若有,会存在哪种内存碎片?为该作业分配内存后,会产生内存碎片吗?若产生,则大小为多少?
3)假设一个64MB内存容量的计算机,采用页式存储管理(页面大小为4KB),内存分配采用位示图方式管理,请问位示图将占用多大的内存?

[tbl-86.md](tbl-86.md)
[tbl-87.md](tbl-87.md)

11. 【2013 统考真题】某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4B。请回答下列问题:

1)若使用一级页表的分页存储管理方式,逻辑地址结构为

[tbl-88.md](tbl-88.md)

则页的大小是多少字节?页表最大占用多少字节?

2)若使用二级页表的分页存储管理方式,逻辑地址结构为

[tbl-89.md](tbl-89.md)


<!-- page: 213 -->

设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。

3)采用1)中的分页存储管理方式,一个代码段的起始逻辑地址为0000 8000H,其长度为8 KB,被装载到从物理地址0090 0000H开始的连续主存空间中。页表从主存0020 0000H开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号,以及代码页面2的起始物理地址。


## 3.1.8 答案与解析

### 一、单项选择题

#### 01. D

选项A、B显然错误,选项C中编址空间的大小取决于硬件的访存能力,一般由地址总线宽度决定。选项D中虚拟内存的管理需要由相关的硬件和软件支持,有请求分页页表机制、缺页中断机构、地址变换机构等。

#### 02. D

内存的物理存取速度是由硬件决定的,而不是由操作系统管理的。操作系统可以通过虚拟内存、缓存等技术提高数据的逻辑存取速度,但不能改变内存的物理特性。

#### 03. B

内存保护需要硬件和软件的配合,不能仅靠操作系统来实现。通常需要在CPU中设置上下限寄存器、重定位寄存器、界地址寄存器等寄存器,以记录进程在内存中的合法范围。

#### 04. C

内存保护是内存管理的一部分,是操作系统的任务,但是出于安全性和效率考虑,必须由硬件实现,所以需要操作系统和硬件机构的合作来完成。

#### 05. C

硬件地址变换机构一般用于动态重定位的情况。而单一连续分配和固定分区分配采用的是静态重定位,不需要硬件地址变换机构,而由装入程序或操作系统来完成地址转换。因此,只有页式存储管理、动态分区分配和页式虚拟存储管理需要硬件地址变换机构。

#### 06. B

在固定分区分配中,每个分区的大小是在系统启动时就确定了的,不会随着作业的长度而变化。分区的大小可以不同,也可以相同,但是一旦确定,就不会改变。

#### 07. D

将上邻空闲区、下邻空闲区和回收区合并为一个空闲区,因此空闲区数反而减少了一个。而仅有上邻空闲区或下邻空闲区时,空闲区数并不减少。

#### 08. C

最佳适配算法是指,每次为作业分配内存空间时,总是找到能满足空间大小需要的最小空闲分区给作业,可以产生最小的内存空闲分区。从图中可以看出应选择大小为60KB的空闲分区,


<!-- page: 214 -->

其首地址为 330K。

09. B

段号为2,其对应的首地址为 480K,段长度为 20K,大于154,所以逻辑地址(2,154)对应的物理地址为 480K + 154。

10. D

静态装入是指在编程阶段就把物理地址计算好。可重定位是指在装入时把逻辑地址转换成物理地址,但装入后不能改变。动态重定位是指在执行时再决定装入的地址并装入,装入后有可能换出,所以同一个模块在内存中的物理地址是可能改变的,在作业运行过程中,当执行到一条访存指令时,再把逻辑地址转换为主存的物理地址,实际上是通过地址变换机构实现的。

11. B

动态重定位允许程序在内存中移动,系统中只有一个重定位寄存器,每次切换进程时,都要保存和恢复该寄存器的值,不会为每个进程分配一个重定位寄存器,选项B错误。

12. C

可重定位装入程序在重定位的过程中执行,重定位寄存器(也称基址寄存器)用于存放进程的基地址,地址变换机构用于将指令中的逻辑地址与重定位寄存器中的基地址相加得到物理地址。目标程序是装入内存后执行的,动态重定位不依赖于目标程序。

13. B

动态重定位可以在程序加载或运行时,根据程序的实际存放位置,对程序中的地址进行修改,使其与物理地址相符。静态重定位只能在程序加载时进行一次地址修改,若程序在运行过程中改变了存放位置,则会出错。动态分配和静态分配是指内存的分配方式,与重定位无关。

14. A

静态重定位只能对程序中的地址进行一次修改,而不能动态调整。在固定分区方式中,作业装入内存后位置不会改变,且作业在内存中占用连续的存储空间,因此可以采用静态重定位。其余三种方案均可能在运行过程中改变程序在内存中的位置,不能采用静态重定位。

15. A

为使地址转换不影响到指令的执行速度,必须有硬件地址变换结构的支持,即需在系统中增设一个重定位寄存器,用它来存放程序(数据)在内存中的始址。在执行程序或访问数据时,真正访问的内存地址由相对地址与重定位寄存器中的地址相加而成,这时将始址存入重定位寄存器,之后的地址访问即可通过硬件变换实现。因为系统处理器在同一时刻只能执行一条指令或访问数据,所以为每道程序(数据)设置一个寄存器没有必要(同时也不现实,因为寄存器是很昂贵的硬件,而且程序的道数是无法预估的),而只需在切换程序执行时重置寄存器内容。

16. A

在可变分区管理中,回收空闲区时采用拼接技术对空闲区进行合并。

17. B

逻辑地址4097对应的页号为 4097/4096 = 1,页内偏移量为 4097%/4096 = 1。由页表可知,页号1对应的页框号也是1,页大小为4KB,因此转换成的物理地址为 1×4K + 1 = 4097。

18. B

分页式存储管理有内部碎片,分段式存储管理有外部碎片,固定分区存储管理方式有内部碎片,段页式存储管理方式有内部碎片。

19. B

多进程的执行通过内存保护实现互不干扰,如页式管理中有页地址越界保护,段式管理中有


<!-- page: 215 -->

段地址越界保护。

20. C

绝对装入在编译时直接将程序的逻辑地址转换成物理地址;静态重定位虽然允许将装入模块装入内存的任何位置,但不允许进程在内存中移动;动态重定位在程序执行时才产生真正的物理地址,它允许进程在内存中移动,但需要一个重定位寄存器的支持。

21. A

首次适应法从空闲区链的链首开始顺序查找,找到一个大小满足要求的空闲分区,根据作业的大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍然留在空闲链中。这种算法不需要对空闲区链进行排序,只需按地址递增的顺序链接即可。

22. A

最佳适应算法要求从剩余的空闲分区中选出最小且满足存储要求的分区,空闲区应按长度递增登记在空闲区表中。

23. C

首次适应算法的空闲分区按地址递增的次序排列。

24. D

基于顺序搜索的分配算法有首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法;基于索引搜索的分配算法有快速适应算法、伙伴系统和哈希算法。

25. A

连续分配会产生内部碎片和外部碎片,导致内存空间的浪费。而页式管理将进程和内存都划分为固定大小的页,然后将进程的页离散地装入内存页框,从而提高内存的利用率。

26. D

页表是由操作系统在程序装入内存时建立的,根据进程的逻辑地址空间和物理地址空间的对应关系,为每个页设置一个页表项,记录其对应的物理页框号、有效位等信息。

27. A

在段式存储管理中,若有些段可被多个进程共享,则可用一个单独的共享段表来描述这些段,而不需要在每个进程的段表中都保存一份。共享段表的作用是实现多个进程共享同一段代码或数据,这样既能节省内存空间,又能便于实现对共享段的更新和维护。多个进程共享同一段物理内存空间并不需要用到共享段表,只需在各自的段表中指向相同的物理地址即可。多个进程共享同一段逻辑地址空间是不可能的,因为每个进程的逻辑地址空间都是相互独立的。在段式存储管理中,并不要求各个进程中相同功能的段必须有相同的段号。

28. C

不管进程有多少个段,系统都为每个进程建立一张段表,每个段表项对应进程中的一段。

29. C

页表和段表同样存储在内存中,系统提供给用户的物理地址空间为总空间大小减去页表或段表的长度。因为页表和段表的长度不能确定,所以提供给用户的物理地址空间大小也不能确定。

30. B

分页管理是在硬件和操作系统层面实现的,对用户、编译系统、装配程序等上层是不可见的。

31. D

页表的功能由一组专门的存储器实现,其始址放在页表基址寄存器(PTBR)中。这样才能满足在地址变换时能够较快地完成逻辑地址和物理地址之间的转换。

32. C


<!-- page: 216 -->

在页式存储管理中,CPU将虚拟地址分解为页号和页内偏移量,然后通过硬件中的页表寄存器和内存管理单元(MMU),将页号转换为物理地址,再拼接上页内偏移量,得到最终的内存物理地址。这一过程是由硬件自动完成的,不需要操作系统或其他软件的干预。

33. B

分段是指在用户编程时,将程序按照逻辑划分为几个逻辑段。

34. A

程序的动态链接与程序的逻辑结构相关,分段存储管理将程序按照逻辑段进行划分,因此有利于其动态链接。其他的内存管理方式与程序的逻辑结构无关。

35. B、C

编译后一个目标程序所限定的地址范围称为该作业的逻辑地址空间。换句话说,地址空间仅指程序用来访问信息所用的一系列地址单元的集合。这些单元的编号称为逻辑地址。通常,编译地址都是相对始址“0”的,因此逻辑地址也称相对地址。

36. D

可重入程序主要是通过共享来使用同一块存储空间的,或通过动态链接的方式将所需的程序段映射到相关进程中去,其最大的优点是减少了对程序段的调入/调出,因此减少了对换数量。

37. A

实现分页、分段和段页式存储管理需要特定的数据结构支持,如页表、段表等。为了提高性能,还需要硬件提供快存和地址加法器等,代价高。分区存储管理是满足多道程序设计的最简单的存储管理方案,特别适合嵌入式等微型设备。

38. A

动态分区时,在系统启动后,除操作系统占据一部分内存外,其余所有内存空间是一个大空闲区,称为自由空间。若作业申请内存,则从空闲区中划出一个与作业需求量相适应的分区分配给该作业,将作业创建为进程,在作业运行完毕后,再收回释放的分区。

39. C

页面大,用于管理页面的页表项就少,但是页内碎片会比较大;页面小,用于管理页面的页表项就多,但是页内碎片小。通过适当的计算可以获得较佳的页面大小和较小的系统开销。

40. B

页式管理中很重要的一个问题是页面大小如何确定。确定页面大小有很多因素,如进程的平均大小、页表占用的长度等。而一旦确定,所有的页面就是等长的(一般取2的整数幂倍),以便易于系统管理。

41. A

引入段式存储管理方式,主要是为了满足用户的下列要求:方便编程、分段共享、分段保护、动态链接和动态增长。

42. B

这里是指主存的访问,不是主存的分配。对主存的访问是以字节或字为单位的。例如,在页式管理中,不仅要知道块号,还要知道页内偏移。

43. A

单用户连续分配管理方式只适用于单用户、单任务的操作系统,不适用于多道程序设计。

44. A

在分页存储管理中,逻辑地址分配是按页为单位进行分配的,而主存的分配即物理地址分配是以内存块为单位分配的。

45. C


<!-- page: 217 -->

在段式分配中,取一次数据时先从内存查找段表,再拼成物理地址后访问内存,共需要2次内存访问。

46. B

在段页式分配中,取一次数据时先从内存查找段表,再访问内存查找相应的页表,最后拼成物理地址后访问内存,共需要3次内存访问。

47. B

虽然段页式存储管理的内存地址结构分为段号、段内页号和页内地址三部分,但分页是操作系统的行为,用户不用指出页内偏移量的位数;而分段之间是独立的,且段长不定长,需指出段号所占的位数。因此,当采用段页式存储管理时,内存地址结构仍然是二维的。而在分页存储管理中,作业地址空间是一维的,即单一的线性地址空间,程序员只需要一个整数来表示地址。简言之,确定一个地址需要几个参数,作业地址空间就是几维的。

48. C

段页式系统中,进程首先划分为段,每段再进一步划分为页。

49. A

在多个进程并发执行时,所有进程的页表大多数驻留在内存中,在系统中只设置一个页表寄存器(PTR),它存放页表在内存中的始址和长度。平时,进程未执行时,页表的始址和页表长度存放在本进程的PCB中,当调度到某进程时,才将这两个数据装入页表寄存器中。每个进程都有一个单独的逻辑地址,有一张属于自己的页表。

50. A

在分段存储管理方式中,以段为单位进行分配,每段是一个连续存储区,每段不一定等长,段与段之间可连续,也可不连续。

51. D

分段方式对低级语言程序员和编译器是可见的,因为低级语言程序员可以按照程序的逻辑结构划分段,并给每个段命名;编译器也需要对各个段生成逻辑地址。

52. B

段页式存储管理兼有页式管理和段式管理的优点,采用分段方法来分配和管理用户地址空间,采用分页方法来管理物理存储空间。但它的开销要比段式和页式管理的开销大。

53. D

只要是固定的分配就会产生内部碎片,其余的都会产生外部碎片。若固定和不固定同时存在(例如段页式),则仍视为固定。分段虚拟存储管理:每段的长度都不一样(对应不固定),所以会产生外部碎片。分页虚拟存储管理:每页的长度都一样(对应固定),所以会产生内部碎片。段页式分区管理:既有固定,又有不固定,以固定为主,所以会有内部碎片。固定式分区管理:很明显固定,会产生内部碎片。综上分析,选项II、III、IV会产生内部碎片。

54. C

选项I正确:关闭TLB后,每当访问一条指令或存取一个操作数时都要先访问页表(内存中),得到物理地址后,再访问一次内存进行相应操作。选项II错误:记住,凡是分区固定的都会产生内部碎片,而无外部碎片。选项III错误:页式存储管理对于用户是透明的。选项IV错误:静态重定位是在程序运行之前由装配程序完成的,必须分配其要求的全部连续内存空间。而页式存储管理方案是将程序离散地分成若干页(块),从而可以将程序装入不连续的内存空间,显然静态重定位不能满足其要求。

55. B

地址结构长18位,所以主存的最大容量为 $2^{18} = 256\mathrm{KB}$;页内偏移量占11位,所以页面大小为 $2^{11} = 2048\mathrm{B}$;页号占7位,所以主存页数为 $2^{7} = 128$ 个。该指令的相对地址为1500,小于一个


<!-- page: 218 -->

页面的大小,所以该指令存放在2号物理块中,物理地址为 $2 \times 2048 + 1500 = 5596$ ,指令数据的存放地址为2500,大于一个页面的大小,所以指令数据存放在3号物理块中。

56. D

主存容量为1MB,分为256个页框,页框大小为 $1\mathrm{MB} / 256 = 4\mathrm{KB}$ ,作业中的2号页被分配到主存的1号页框中,因此其在主存中的始址为 $1\times 4096 = 4096$ 。

57. D

分段是指将逻辑地址空间划分为若干不等长的单元,称为段。段长由用户根据信息的性质和逻辑结构决定,而不由系统决定,引入分段的主要目的是更好地满足用户的需求,实现程序的模块化和保护。实现离散分配并提高内存利用率是引入分页的主要目的。

58. C

逻辑地址空间大小为 $256\mathrm{TB} = 2^{48}\mathrm{B}$ ,逻辑地址有48位,页面大小为 $4\mathrm{KB} = 2^{12}\mathrm{B}$ ,页内偏移量2占12位,剩余36位表示页表索引,页表项大小为8B,一个页面能存放 $4\mathrm{KB} \div 8 = 2^{9}$ 个页表项,因此可用9位来表示某一级的页表索引, $36 \div 9 = 4$ ,所以共需要采用4级页表。

59. A

让不同页表的页表项指向同一个页帧,可以共享该页帧的代码,若代码是可重入的(如编辑软件、编译软件等),则这种方法可以节省大量的内存空间。实现内存“复制”操作时,不需要将页面的内容逐字节复制,而只需将页表中指向该页面的指针复制到目的地址的页表项中。越界保护是通过界地址寄存器实现的,选项III是干扰项。当多个进程需要通信时,可以采用共享内存的方式,它们是通过让各个进程页表的页表项指向相同的页帧实现的。

60. A

每个进程都拥有自己独立的进程空间,若一个进程在运行时所产生的地址在其地址空间之外,则发生地址越界,因此需要进行界地址保护,即当程序要访问某个内存单元时,由硬件检查是否允许,若允许则执行,否则产生地址越界中断。

61. C

分段存储管理的逻辑地址分为段号和位移量两部分,段内位移的最大值就是最大段长。地址长度为32位,段号占8位,因此位移量占 $32 - 8 = 24$ 位,因此最大段长为 $2^{24}\mathrm{B}$ 。

62. B

最佳适配算法是指每次为作业分配内存空间时,总是找到能满足空间大小需要的最小空闲分区给作业,可以产生最小的内存空闲分区。下图显示了这个过程的主存空间变化。


图中,灰色部分为分配出去的空间,白色部分为空闲区。这样,容易发现,此时主存中最大空闲分区的大小为9MB。

63. B

页大小为 $2^{10}\mathrm{B}$ ,所以页内偏移量占10位,又因为页表项大小为2B,一页可以存放 $2^{9}$ 个页表


<!-- page: 219 -->

项,所以页号占9位,根据逻辑地址空间共有 $2^{16}$ 页可知,页目录号加页号共占16位,页目录号占7位,所以页目录表中包含表项的个数至少是 $2^{7} = 128$。