配色: 字号:
2020年全国硕士研究生入学统一考试计算机科学与技术学科联考(408)
2022-12-06 | 阅:  转:  |  分享 
  
一、单项 选择题: 1~40小题,每小题2分,共80分。下列每题给出的四个选项中,只

有一个选项符合题意要求。

1. 将一个 10 10 对称矩阵 M 的上三角部分的元素素 ?????? (1≤i≤j≤10) 按列优先存

入 C 语言的一维数组 N 中,元素 ??7,2在 N 中的下标是:

A、 15 B、 16 C、 22 D、 23

2. 对空栈 S 进行 Push 与 Pop 操 作,入栈序列 a, b, c, d, e 经过 Push, Push, Pop,

Push, Pop, Push, Push, Pop 操作后得到的出栈序列是

A、 b, a, c B、 b, a, e C、 b, c, a D、 b, c, e

3. 对于任意一棵高度为 5 且有 10 个节点的二叉树,若采用顺序存储结构保存,每个结

点占 1 个存储单元(仅存放结点的数据信息),则存放该二叉树需要的存储单元数量

至少是:

A、 31 B、 16 C、 15 D、 10

2020年全国硕士研究生招生考试

计算机科学与技术学科联考

计算机学科专业基础综合试题

4. 已知森林 F 及与之对应的二叉树 T,若 F 的先根遍历序列是 a, b, c, d, e, f,中根遍

历序列是 b, a, d, f, e, c 则 T 的后 根遍历序列是:

A、 b, a, d, f, e, c B、 b, d, f, e, c, a C、 b, f, e, d, c, a D、 f, e, d, c, b, a

5. 下列给定的关键字输 入序列中,不能生成如下二叉排序树的是:

A、 4, 5, 2, 1, 3

B、 4, 5, 1, 2, 3

C、 4, 2, 5, 3, 1

D、 4, 2, 1, 3, 5

6. 修改递归方式实现的图的深度优先搜索(DFS) 算法, 将输出(访问)定点信息的语句

移到退出递归前(即执行输出语句后立刻退出递归)。 采用修改后的算法遍历有向无环

图G, 若输出结果中包含G中的全部顶点, 则输出的顶点序列是G的:

A、 拓扑有序序列

C、 广度优先搜索序列

B、 逆拓扑有序序列

D、 深度优先搜索序列

7. 已知无向图G如下所示, 使用克鲁斯卡尔(K『uskal)算法求图G的最小生成树, 加入

到最小生成树中的边依次是:

20 A、(b,f)(b,d)(a,e)( c,e )(b,e)

B、(b刀(b,d)(b,e)(a,e)( e,c)

(不确定最后一个括号的内容)

C、(a,e)(b,e)( c,e)(b,d)(b乃

D、(a,e )( c,e )(b,e )(b,f)(b,d)

8. 若使 用 AOE 网估算工程进度,则下列叙述中正确的是:

A、关键路径是从原点到汇点边数最多的一条路径

B、关键路径是从原点到汇点路径长度最长的路径

C、增加任一关键活动的时间不会延长工程的工期

D、缩短任一关键活动的时间将会缩短工程的工期

9. 下列关于大根堆(至少含 2 个元素)的叙述中正确的是:

I.

II.

III.

IV.

可以将堆看成一棵完 全二叉树

可采用顺序 存储方式保存堆;

可以将堆看成一棵二叉排序树;

堆中的次大值一定在根的下一层。

10. 依次将关键字 5, 6, 9, 13, 8, 2, 12, 15 插入初始为空的 4 阶 B 树后,根节点中

包含的关键字是:

A、 I, II B、 I, II, IV C、 II, III D、 II, III, IV

A、 8 B、 6, 9 C、 8, 13 D、 9, 12

11. 对大部分元素已有序的数组进行排序时,直接插入排序比简单选择排序效率更高,其原

因是:

直接插入排序过程中元素之间的比较次数更少

直接插入排序过程中所需要的辅助空间更少

直接插入排序过程中元素的移动次数更少

I、

II、

III、

A、 I B、 III C、 I,II D、 I,II,III

12. 下列给出的部件中其位数(宽度)一定与机器字长相同的是:

I、 ALU; II、指令寄存器; III、通用寄存器; IV、浮点寄存器

A、 I, II B、 I, III C、 II, III D、 II, III, IV

14. 在按字节编址,采用小端方式的 32 位计算机中,按边界对齐方式为以下 C 语言结构

型变量 a 分配存储空间。

Struct record{

short x1;

int x2;

} a;

若 a 的首地址为 2020 FE00H, a 的成 员变量 x2 的机器数为 1234 0000H,则其中

34H 所在存储单元的地址是:

A、 2020 FE03H B、 2020 FE04H C、 2020 FE05H D、 2020 FE06H

15. 下列关于 TLB 和 Cache 的叙述中错误的是:

A、命中率与程序局部性有关;

B、缺失后都需要去访问主存;

C、缺失处理都可以由硬件实现;

D、都由 DRAM 存储器组成。

16. 某计算机采用 16 位定长指令字格式,操作码位数和寻址方式位数固定,指令系统有

48条指令, 支持直接、 间接、立即、相对 4 种寻址方式,单地址指令中直接寻址方式

可寻址范围是:

A、 0~225; B、 0~1023; C、 -128~127; D、 -512~511;

13. 已知带符号整数用补码表示, float 型数据用 IEEE 754 标准表示,假定变量 x 的类型只

能是 int 或 float。当 x 的机器数为 C800 0000H 时, x 的值可能是:

A、 -7×227 B、 -216 C、 217 D、2 5×227

17. 下列给出的 处理器类型中理想情况下 CPI 为 1 的是 :

II、多周期 CPU ;

IV 超标量流水线 CPU

C、 II,IV; D、 III,IV;

I、单周期 CPU;

III、基本流水线 CPU;

A、 I, II; B、 I,III;

18. 下列关于“自陷”( Trap,也称陷阱)的叙述中错误的是:

A、自陷是通过陷阱指令预先设定的一类外部中断事件;

B、自陷可用于实现程序调试时的断点设置和单步跟踪;

C、自陷发生后 CPU 将转去执行操作系统内核相应程序;

D、自陷处理完成后返回到陷阱指令的下一条指令执行。

19. QPI 总线是一种点对点全工双周同步串行总线,总线上的设备可同时接收和发送信息,

每个方向可同时传输 20 位信息( 16 位数据 +4 位校验位) , 每个 QPI 数据包有 80 位

信息,分 2 个时钟周期传送,每个时钟周期传递 2 次,因此 QPI 总线带宽为每秒传

送次数 2B2。若 QPI 时钟频率为 2.4GHz,则总线带宽为:

A、 4.8 B、 9.6 C、 19.2 D、 38.4 (单位 GB/s)

22. 若设备采用周期挪用 DMA 方式进行输入输出,每次 DMA 传送的数据块大小为 512

字节,相应的 I/O 接 口中有一个 32 位数数据缓冲寄存器 , 对于数据输入过程 , 下列叙

述中错误的 是:

A、每准备好 32 位数据, DMA 控制器就发出一次总线请求;

B、相对于 CPU, DMA 控制器的总线使用权的优先级更高;

C、在整个数据 块的传送过过程中, CPU 不可以访问主存储器;

D、数据块传送结束时,会产生“DMA 传送结束”的中断请求。

23. 若多个进程共享同一个文件 F,则下列叙述中正确的是:

A、个进程只能用“读”方式打开文件 F;

B、在系统打开文件表中仅有一个表项包含 F 的属性;

C、各进程的用户打开文件表中关于 F 的表项内容相同;

D、进程关闭 F 时系统删除 F 在系统打开文件表中的表

项。

24. 下列选项中支持文件长度可变,随机访问的磁盘存储空 间分配方式是:

C、连续分配; D、动态分区分配。 A、索引分配; B、链接分配;

25. 下列与中断相关的操作中,由操作系统完成的是:

I、 保存被中断程序的中断点 II、提供中断服务

20. 下 列事件中属于外部中断事件的是:

III、网络数据包到达 I、访存时缺页; II、定时器延时(不确定) ;

21. 外部中断包 括不可屏蔽中断( NMI)和可屏蔽中断,下列关于外部中断的叙述中错误的

是:

A、 CPU 处于关中断 状态时也能响应 NMI 请求;

B、一旦 可屏蔽中断请求信号有效, CPU 将立即响应;

C、不可屏蔽中断的优先级比可屏蔽中断的优先级高;

D、可通过中断屏蔽字改变可屏蔽中断的处理优先级。

A、 I,II; B、 I,II,IV; C II,III; D II,III,IV.

III、初始化中断向量表 IV、保存中断屏蔽字

A、 I,II; B、 I,II,IV; C III,IV; D II,III,IV.

26. 下列与进程 调度有关的因素中在设计多级反馈队列调度算法时需要考虑的是:

I 就绪队列的数量

III 各就绪队列的调度算法

C、 II,III,

II 就绪队列的优先级

IV 进程在就绪队列间的迁移条件

IV; D I,II,III,IV A、 I,II; B、 III,IV;

27. 某系统中有 A,B 两类资 源各 6 个, t 时刻资源分配及需求情况如下表所示

B、存在安全序列 P2,P1,P3;

D、不存在安全序列。

t 时刻安全检测结果是:

A、存在安全序列 P1,P2,P3;

C、存在安全序列 P2,P3,P1;

28. 下列因素影响请求分页系统有效(平均)访存时间的是:

I、 缺页率 ; II、 磁盘读写时间;

III、内存访问时间; IV 执行缺页处理程序的 CPU 时间;

A、 II,III B、 I,IV C、 I,III,IV D、 I,II,III,IV

29. 下列关于父进程与子进程的叙述中错误的是:

A、父进程与子进程可以并发执行

B、父进程与子进程共享虚拟地址空间

C、父进程与子进程有不同的进程控制块

D、 父进程与子进程不能同时使用同一临界资源

30. 对于具备设备独立性的系统下列叙述中错误的是:

A、可以使用文件名访问物理设备;

B、用户程序使用逻辑设备与物理设备之间的映射关系

D、更换物理设备后必须修改访问该设备的应用程序。(缺一个选项)

31. 某文件系统的目录由文件名和索引节点号构成。若每个目录项长度为 64 字节,其中

4个字节存放索引节点号, 60 个字节存放文件名。文件名由小写英文字母构成,则该文

件系统能创建的文件数量的上限为:

A、 226 B、 232 C、 260 D、 264

32. 下列准则中 实现临界区互斥机制必须遵循的是:

I、 两个进 程不能同时进入临界区

II、 允许进程访问空闲的临界资源

III、 进程等待进入临界区的时间是有限的

IV、 不能进入临界区的执行态进程立即放弃 CPU

D、 I,III,IV A、 I,IV B、 II,III C、 I,II,III

33. 下图描述的协议要素是 :

I、语法 II、语义 III、时序

A. I

B. II

C. III

D. I, II, III

34. 下列关于虚电路网络的叙述中错误的是:

A、可以确保数据分组传输顺序

B、需要为每条虚电路预分配带宽

C、建立虚电路时需要进行路由选择

D、依据虚电路号( VCID)进行数据分组转 发

35. 下图所示的网络冲突域和广播域的个数分别

是:null

A、 2, 2; B、 2, 4; C、 4, 2; D、 4, 4;

36. 假设主机采用停 -等协议向主机乙发送数据帧,数据帧长与确认帧长均为 1000B。数 据传

输速率是 10kbps,单项 传播延时是 200ms。 则甲的最大信道利用率:

A、 80%; B、 66.7%; C、 44.4%; D、 40%

37. 某 IEEE 802.11 无线局域网中主机 H 与 AP 之间发送或接收 CSMA/CA 帧的过 程如

下图所示,在 H 或 AP 发送帧前所等待的帧间间隔时间( IFS)中最长的是:

A、 IFS1

B、 IFS2

C、 IFS3

D、 IFS4

38. 若主机甲与主机乙已建立一条 TCP 连接,最大段长( MSS)为 1KB,往返时间( RTT)为

2ms, 则在不出现拥塞的前提下,拥塞窗口从 8kB 增长到 32KB 所需的最长时间是:

A、 4ms B、 8ms C、 24ms D、 48ms

39. 若主机甲与主机乙建立 TCP 连接时发送的 SYN 段中的序号为 1000,在断开连接时,

甲 发送给乙的 FIN 段中的序号为 5001, 则在无任何重传的情况下,甲向乙已经发送的应用

层数据的字节数为:null

A、 4002 B、 4001 C、 4000 D、 3999

40. 假设下图所示网络中的本地域名服务器只提供递归查询服务,其他域名的服务器均只提

供迭代查询服务;局域网内主机访问 Internet 上各服务器的往返时 间( RTT) 均为 10ms,

忽 略 其 他各种时延,若主机 H 通过 超链接 http://www.abc.com/index.html,请求浏览纯

文本 Web 页 index.html,则 从点击超链接开始到浏览器接收到 index.html 页面为止,

所需最短、最长时间分别是:

A、 10ms, 40ms B、 10ms,50ms C、 20ms,40ms D、 20ms,50ms

二、综合应用题:41~47小题,共70分。

41. 定义三元组( a, b, c) ( a,b,c 均为正数)的距离 D=|a-b|+|b-c|+|c-a|. 给定 3 个非空整

数集合 S1, S2 ,S3, 按升序分别存储在 3 个数组 中。请设计一个尽可能高效的算法,计

算并输出所有可能的三元组( a, b, c) (a∈S1,b∈S2,c∈S3)中的最小距离。例如 S1={-

1, 0, 9}, S2={ -25, -10, 10, 11}, S3={ 2, 9, 17, 30, 41}则最小距离为 2,相应

的三元组为( 9, 10, 9)要求:

(1)给出算法的基本设计思想;

(2)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注

释;

(3)说明你所设计算法的时间复杂度和空间复杂度。

null

42. 若任一个字符的编码都不是其他字符编码的前缀,则称这种编码具有前缀特性。现有某

字 符集(字符个数≥2)的不等长编码,每个字符的编码均为二进制的 0, 1 序列,最长

为 L 位,且具有前缀特性。请回答下列问题:

( 1) 哪种数据结构适宜保存上述具有前缀特性的不等长编码?

( 2) 基于你所设计的数据结构,简述从 0/1 串到字符串的译码过程

( 3) 简述判定某字符集的不等长编码是否具有前缀特性的过程

43. 有实现 xy 的两个 C 语 言函数如下:

unsigned umul ( unsigned x , unsigned y)

{ return xy; }

int imul ( int x, int y )

{ return x y; }

假定某计算机 M 中 ALU 只能进行加 减运算和逻辑运算。请回答:

( 1)若 M 的指令系统中没有乘法指令 , 但有加法 、 减法和位移等指令 , 则在 M 上也

能实现 上述两个函数中的乘法运算,为什么?

( 2)若 M 的指令系统中有乘法指令,则基于 ALU、 位移器、寄存器以及相应控制逻

辑实现乘法指令时,控制逻辑的作用是什么?

( 3) 针对以下 3 种情况 : ( a) 没有乘法指令 ; ( b) 有使用 ALU 和位移 器实现的乘法

指令;( c) 有使用阵列乘法器实现的乘法指令 , 函数 umul()在哪种情况下执行时间最长?

哪种情况下执行的时间最短?说明理由

( 4) n 位整数乘法指令可保存 2n 位乘积 , 当仅取低 n 位作为乘积时 , 其结果可能会

发生溢出 。 当 n=32, x=231-1, y=2 时,带符号整数乘法指令和无符号整数乘法指令得

到的 xy 的 2n 位乘积分别是什么(用十六进制表示)?此时函数 umul()和 imul()的

返回结果是否溢出?对于无符号整数乘法运算 , 当仅取乘积的低 n 位作为乘法结果时,

如何用 2n 位乘积进行溢出判断?

44. 假定主存地址 为 32 位 ,按字节编址,指令 Cache 和数据 Cache 与主存之间 均采用 8

路组相联映射方式,直写( Write Through)写策略和 LRU 替换算法, 主存块大小为 64B,

数据区容量各为 32KB。开始时 Cache 均为空,请回答下列问 题:

( 1) Cache 每一行中标记( Tag)、 LRU 位各占几位?是否有修改位?

( 2) 有如下 C 语言程序段:

for ( k = 0 ; k < 1024 ; k++ )

S[k] = 2 s[k];

若数组 S 及其变量 k 均为 int 型, int 型数据 占 4B,变 量 k 分配在寄存器中,数

组 s 在主存 中的起始地址为 0080 00C0H,则该程序段执行过程中,访问数组 S 的数

据 Cache 缺失次数为多少?

( 3) 若 CPU 最先开始的访问操作是读取主存单元 0001 003H 中的指令,简要说明从

Cache 中访问该指令的过程,包括 Cache 缺失处理过程 。

45. 现 有 5 个操作 A、 B、 C、 D 和 E,操作 C 必须在 A 和 B 完成后执行,操作 E 必须

在 C 和 D 完成后执行 , 请使用信号量的 wait(), signal(),操 作 ( P、 V 操作) 描述上述

操作之间的同步关系,并说明所用信号量及其初值。

46. 某 32 位系统采 用基于二级页表的请求分页存储管理方式,按字节编址,页目录项和页

表项长度均为 4 字节,虚拟地址结构如下:

页目录号( 10 位 ) 页号 ( 10 位 ) 页内偏移量( 12 位 )

某 C 程序中数组 a[1024][1024]的起始虚 拟地址为 1080 0000H,数组元素占 4 字节,

该程序运行 时,其进程的页目录起始物理地址为 0020 1000H,请回答下列问题:

( 1) 数组元素 a[1][2]的虚拟 地址是什么?对应的页目录号和页号分别是什么? 对应的

页目录项的物理地址是什么?若该目录项中存放的页框号为 00301H,则 a[1][2]所 在页

对应的页表项的物理地址是什么?

( 2) 数组 a 在虚拟地址空间中所占区域是否必须连续?在物理地址空间中所占区域是

否必须连续 ?

( 3) 已知数组 a 按行优先方式存放 , 若对数组 a 分别按行遍历和按列遍历 , 则哪一种

遍历方式的局部性更好?

47. 某 校园网有两个局域网,通过路由器 R1、 R2 和 R3 互联后接入 Internet, S1 和 S2

为以太网交换机,局域网采用静态 IP 地址配置,路由器部分接口以及各主机的 IP 地

址如图所示:

假设 NAT 转换表结 构为:

外网 内网

IP 地址 端口号 IP 地址 端口号

请回答下列问题:

( 1) 为使 H2 和 H3 能够访问 Web 服务 器 (使用默认端口号 ) , 需要进行什么配置?

( 2)若 H2 主动访问 Web 服 务器时 , 将 HTTP 请 求报文封装到 IP 数据 报 P 中发送 ,

则 H2 发送 P 的源 IP 地 址和目的 IP 地址分别是?经过 R3 转发后, P 的源 IP 地

址和目的 IP 地址分别是?经过 R2 转发后, P 的源 IP 地址和目的 IP 地址分别是?

选择题:

1. 将一个 10 10 对称矩阵 M 的上三角部分的元素素 ?????? (1≤i≤j≤10) 按列优先存

入 C 语言的一维数组 N 中,元素 ??7,2在 N 中的下标是:

A、 15 B、 16 C、 22 D、 23

【答案】 C

【解析】

上三角矩阵列优先的存储模式 : 先存储具有一个元素第一列 , 再存储具有两个元素

的第二列,以此类推

??7,2 说明 1-6 列均已存满,,故此元素是第 1+2+3+4+5+6+2 个被存储单元

【 注意 !】 C 语言数组的下标从 0 开始

故 ??7,2在 N 中的下标为 23-1=22,即 N[22]

2. 对空栈 S 进行 Push 与 Pop 操作,入栈序列 a, b, c, d, e 经过 Push, Push, Pop,

Push, Pop, Push, Push, Pop 操作后得到的出栈序列是

A、 b, a, c B、 b, a, e C、 b, c, a D、 b, c, e

【 答案 】 D

【解析】

操作 执行该操作后的栈 (左侧为栈底 ) 出栈元素

Push a

Push ab

Pop a b

Push ac

Pop a c

Push ad

Push ade

Pop ad e

3. 对 于 任意一棵高度为 5 且有 10 个节点的二叉树,若采用顺序存储结构保存 , 每个结

点占 1 个存储单元(仅存放结点的数据信息),则存放该二叉树需要的存储单元数量

至少是:

A、 31 B、 16 C、 15 D、 10

【答案】 A

【解析】

2020年 计算机学科专业基础综合试题

参 考 答 案

本二叉树 使用顺序结构存储时, 为了保证任意性, 其 1-5 层的所有节点(包括空

节点)全部都要被存储起来, 即考虑成一棵 5 层的满二叉树,存储单元大小为

1+2+4+8+16 = 31

4. 已知森林 F 及与之对应的二叉树 T, 若 F 的先根遍历序列是 a, b, c, d, e, f, 中 根遍

历序列是 b, a, d, f, e, c 则 T 的后 根遍历序列是:

A、 b, a, d, f, e, c B、 b, d, f, e, c, a C、 b, f, e, d, c, a D、 f, e, d, c, b, a

【答案】 C

【解析】

任何 n 个不同节点的二叉树,都可由它的 中 序序列和 先 序序列唯一确定 。

此二叉树 T 对应的后根遍历序列是 bfedca

5. 下列给定的关键字输入序列中,不能生成如下二叉排序树的是:

A、 4, 5, 2, 1, 3

B、 4, 5, 1, 2, 3

C、 4, 2, 5, 3, 1

D、 4, 2, 1, 3, 5

【答案】 B

【解析】基本概念题。

B选项构造出的二叉排序树

6. 修改递归方式实现的图的深度优先搜索(DFS)算法, 将输出(访问)定点信息的语句

移到退出递归前(即执行输出语句后立刻退出递归)。 采用修改后的算法遍历有向无环

图G, 若输出结果中包含G中的全部顶点, 则输出的顶点序列是G的:

A、 拓扑有序序列 B、 逆拓扑有序序列

C、 广度优先搜索序列 D、 深度优先搜索序列

[管案] B

(解析}

DFS是一个递归算法,在遍历的过程中,先访问的点被压入校底。拓扑有序是指如果

点U到点V有一条弧,则在拓扑序列中U 一定在V之前.深度优先算法搜索路径恰恰是

一条弧,梭的输出是从最后一个被访问点开始输出,最后一个输出的点是第一个被访问的

点.所以是逆拓扑有序序列

7. 已知无向图G如下所示, 使用克鲁斯卡尔(K『uskal)算法求图G的最小生成树, 加入

到最小生成树中的边依次是:

20

[答案] A

I解析}

A、(b,f)(b,d)(a,e)( c,e )(b,e)

B、(b刀(b,d)(b,e)(a,e)( e,c)

(不确定最后一个括号的内容)

C、(a,e)(b,e)( c,e)(b,d)(b乃

D、(a,e )( c,e )(b,e )(b,f)(b,d)

Kruskal算法:按权值递增次序选择合适的边构造最小生成树

基本思想:按照权值的递增顺序选择n-1条边, 并保证这n-1条边不构成回路。

具体做法:首先构造一个只含n个顶点的森林, 然后依权值从小到大从连通网中选

择边加入到森林中, 并使森林中不产生回路, 直至森林变成一棵树为止。

*注:“边权值尚不明确. 但一定是比11大的某个数. 不影响解题

第 1 步: 选取 边

的权值最小,因此将它加入到最小生成树中。

第 2 步: 选取 边

上一步操作之后,边 的权值最小,将它加入到最小生成树结果中。

第 3 步: 选取 边

上一步操作之后,边 的权值最小,但 会和已有的边构成回路;因此,

跳过边 , 将边 它加入到最小生成树中。

第 4 步: 选取 边

上一步操作之后,边 的权值最小,将它加入到最小生成树中。

第 5 步: 选取 边

上一步操作之后,边 的权值最小,将 它 加 入 到最小生成树中。

此时,最小生成树构造完成 ,它包括的边是:

8. 若使 用 AOE 网估算工程进度 , 则下列叙述中正确的是:

A、关键路径是从原点到汇点边数最多的一条路径

B、关键路径是从原点到汇点路径长度最长的路径

C、增加任一关键活动的时间不会延长工程的工期

D、缩短任一关键活动的时间将会缩短工程的工期

【答案】 B

【解析】基础概念题。

关键路径( critical path) : 在 AOE 网中 , 从源点到汇点的所有路径中具有最大路径

长度的路径

9. 下列关于大根堆(至少含 2 个元素)的叙述中正确的是:

I. 可以将堆看成一 棵 完全二叉树

II. 可采用顺序存储方式保存堆;

III. 可以将堆看成一棵二叉排序树;

IV. 堆中的次大值一定在根的下一层。

【答案】 B

【解析】基础概念题

堆( Heap)具有以下特点:

1) 完全二叉树

2) 存储的值是偏序

大根堆( Max-heap):父节点的值 大于或等于 子节点的值

一般用数组(顺序结构)来表示堆

10. 依次将关键字 5, 6, 9, 13, 8, 2, 12, 15 插入初始为空的 4 阶 B 树后,根节点中

包含的关键字是:

A、 8 B、 6, 9 C、 8, 13 D、 9, 12

【答案】 B

【解析】

B 树是一种平衡的多路搜索树, 结点最大的孩子数目称为 B 树的阶 。 一个 m 阶 B 树具

有如下属性:

1.定义任意非叶子结点最多只有 M 个儿子;且 M>2

2.根结点的儿子数为 [ 2 , M ]

3.除根结点以外的非叶子结点的儿子数为 [ M/2, M ]

4.每个结点存放至少 M/2-1(取上整)和至多 M-1 个关键字;(至少 2 个关键字)

5.非 叶子结点 的关键字个数 = 指向儿子的指针个数 -1

6.非叶子结点的关键字: K[ 1 ], K[ 2 ], …, K[ M-1 ];且 K[ i ] < K[ i+1 ]

7.非叶子结点的指针: P[ 1 ], P[ 2 ], …, P[ M ];其中 P[ 1 ]指向关键字小于 K[ 1 ]的

子树, P[ M ]指向关键字大于 K[ M-1 ]的子树,其它 P[ i ]指向关键字属于 (K[ i-1 ], K[ i ])

的子树

8.所有叶子结点位于同一层

最后生成的 B 树

11. 对大部分元素已有序的数组进行排序时,直接插入排序比简单选择排序效率 更高,其原

因是:

I、 直接插入排序过程中元素之间的比较次数更少

II、 直接插入排序过程中所需要的辅助空间更少

III、 直接插入排序过程中元素的移动次数更少

A、 I B、 III C、 I,II D、 I,II,III

【答案】 A

【解析】基础概念题

直接插入排序与简单选择排序相比

1) 直接插入排序 元素比较次数少

2) 简单选择排序移动的元素少

3) 均为就地排序, 空间复杂度均为 O(1)

12. 下列给出的部件中其位数(宽度)一定与机器字长相同的是:

I、 ALU; II、指令寄存器; III、通用寄存器; IV、浮点寄存器

A、 I, II B、 I, III C、 II, III D、 II, III, IV

【答案】 B

【解析】基础概念题

机器字长 : 是指计算机进行一次整数运算所能处理的二进制的位数 , 通常与 CPU 的

寄存器位数,加法器有关

13. 已知带符号整数用补码表示, float 型数据用 IEEE 754 标准表示,假定变 量 x 的类型只

能是 int 或 float。当 x 的机器数为 C800 0000H 时, x 的值可能是:

A、 -7×227 B、 -216 C、 217 D、2 5×227

【答案】 A

【解析】基础概念题

C800 0000H = 1100 1000 0000 0000 0000 0000 0000 0000H

若为 float 转化 为 1 100 1000 0 000 0000 0000 0000 0000 0000H = -217

若为 int,则 对 C800 0000H 求补 , 得 B800 0000H,即 -7×227

14. 在按字节编址,采用小端方式的 32 位计算机中,按边界对齐方式为以下 C 语言结构

型变量 a 分配存储空间。

Struct record{

short x1;

int x2;

} a;

若 a 的首地址为 2020 FE00H, a 的成员变量 x2 的机器数为 1234 0000H,则其中

34H 所在存储单元的地址是:

A、 2020 FE03H B、 2020 FE04H C、 2020 FE05H D、 2020 FE06H

【答案】 D

【解析】

按边界对齐 方式 和小 端方式存储 时 ,对应 a 的存放方式为

x1 00H

x2 00H

34H

12H

a 的首地址为 2020 FE00H, 34H 所在存储单元为 2020 FE00H + 6 = 2020 FE06H

15. 下列关于 TLB 和 Cache 的叙述中错误的是:

A、命中率与程序局部性有关;

B、缺失后都需要去访问主存;

C、缺失处理都可以由硬件实现;

D、都由 DRAM 存储器组成。

【答案】 D

【解析】 Cache 由 SRAM 组成 , TLB 由 SRAM 或相 联存储器组成

16. 某计算机采用 16 位定长指令字格式,操作码位数和寻址方式位数固定,指令系统有

48条指令,支持直接、间接、立即、相对 4 种寻址方式,单地址指令中直接寻址方式

可寻址范围是:

A、 0~225; B、 0~1023; C、 -128~127; D、 -512~511;

【答案】 A

【解析】

48 条指令需要 6 位 OP 位 , 4 种寻址方式需要 2 位寻址 位 ,剩余 16-6-2=8 位

由于主存地址非负 ,故寻址范围为 0 - 255

17. 下列给出的处理器类型中理想情况下 CPI 为 1 的是:

II、多周期 CPU ;

IV 超标量流水线 CPU

C、 II,IV; D、 III,IV;

I、单周期 CPU;

III、基本流水线 CPU;

A、 I, II; B、 I,III;

【答案】 B

【解析】

CPI( Clock cycle Per Instruction) : 每条计算机指令执行所需的时钟周期

CPI = 执行程序所需要的时钟周期数 / 所执行的指令条 数

I: 令指令周期 =时钟周期 ,则 CPI = 1

II: 多周期 CPU 的 CPI 不可能是 1

III: 理想情况下每个时钟周期均可执行一条指令

IV: 每时钟周期内可以完成一条以上的指令

18. 下列关于“自陷”( Trap,也称陷阱)的叙述中错误的是:

A、自陷是通过陷阱指令预先设定的一类外部中断事件;

B、自陷可用于实现程序调试时的断点设置和单步跟踪;

C、自陷发生后 CPU 将转去执行操作系统内核相应程序;

D、自陷处理完成后返回到陷阱指令的下一条指令执行。

【答案】 A

【解析】自陷是内中断

19. QPI 总线是一种点对点全工双周同步串行总线,总线上的设备可同时接收和发送信息,

每个方向可同时传输 20 位信息( 16 位数据 +4 位校验位) , 每个 QPI 数据包有 80 位

信息,分 2 个时钟周期传送,每个时钟周期传递 2 次,因此 QPI 总线带宽为每秒传

送次数 2B2。若 QPI 时钟频率为 2.4GHz,则总线带宽为:

A、 4.8 B、 9.6 C、 19.2 D、 38.4 (单位 GB/s)

【答案】 C

【解析】 2.4G(频率 ) 2(每个时钟周期传递两次 ) 2(全双工 ) 2B/S= 19.2GB/s

20. 下 列事件中属于 外部中断事件的是:

III、网络数据包到达 I、访存时缺页; II、定时器延时(不确定) ;

【答案】 C

【解析】访存缺页属于内部中断

21. 外部中断包括不可屏蔽中断( NMI)和可屏蔽中断,下列关于外部中断的叙 述中错误的

是:

A、 CPU 处于关中断状态时也能响应 NMI 请求;

B、一旦可屏蔽中断请求信号有效, CPU 将立即响应;

C、不可屏蔽中断的优先级比可屏蔽中断的优先级高;

D、可通过中断屏蔽字改变可屏蔽中断的处理优先级。

【答案】 B

【解析】

A: [关中断 ] 在 中断 服务过程中 为了保护中断现场不 被 新的中断所打断 ,在保护现

场的过程中 , CPU 不 应 响应更高 级中断源的中断请求 ,但 不可屏蔽中断通 过 NMI 控制 ,

不受中断标志位的影响 ,即 使在关中断的情况下也会被 响应 。

B: CPU 相应终端必须满足以下三个 条件 :

① 中断源有 中断请求

② CPU 允许中断及开中断

③ 一条指令执行完毕且没有更紧迫的任务

C: 一般来说 , 在中断判优过程中 , 不可 屏蔽中断优于可屏蔽中断

D: 正确

22. 若设备采用周期挪用 DMA 方式进行输入输出,每次 DMA 传送的数据块大小为 512

字节,相应的 I/O 接口中有一个 32 位数数据缓冲寄存器 , 对于数据输入过程 , 下列叙

述中错误的是:

A、每准备好 32 位数据, DMA 控制器就发出一次总线请求;

B、相对于 CPU, DMA 控制器的总线使用权的优先级更高;

C、在整个数据块的传送过过程中, CPU 不可以访问主存储器;

D、数据块传送结束时,会产生“DMA 传送结束”的中断请求。

【答案】 A / C ?

【解析】

A: DMA 的传送 是以块为单位的

C: DMA 与 主存相互并行 , DMA 工作期间不影响 CPU 的工作

23. 若多个进程共享同一个文件 F,则下列叙述中正确的是:

A、个进程只能用“读”方式打开文件 F;

B、在系统打开文件表中仅有一个表项包含 F 的属性;

C、各进程的用户打开文件表中关于 F 的表项内容相同;

D、进程关闭 F 时系统删除 F 在系统打开文件表中的表

项。

【答案】 B

【解析】

A: 各 进程既可以用读 方式打 开文件 F,也可用写方式打开文件 F

B: 系统打开文件表 只有一张 ,正确

C: 打开文件表关于同样一个文件的表 项 内容不一定相同

D: 进程关闭 F 时会使 F 的引用计数 -1,引 用计数 =0 时才会删除表项

24. 下列选项中支持文件长度可变,随机访问的磁盘存储空 间分配方式是:

C、连续分配; D、动态分区分配。 A、索引分配; B、链接分配;

【答案】 A

【解析】

B: 链接 分 配不支持 随机访问

C:连续分配不支持长度可变

D:动态 分区 分配 是内存管理方式

25. 下列与中断相关的操作中,由操作系统完成的是:

I、 保存被中断程序的中断点 II、提供中断服务

III、初始化中断向量表 IV、保存中断屏蔽字

A、 I,II; B、 I,II,IV; C III,IV; D

II,III,IV.

【答案】 D

【解析】

中断点的保存需要由 软硬件保存寄存器内容 、由硬件保存 PC、由 OS 保存 PSW

26. 下列与进程调 度有关的因素中在设计多级反馈队列调度算法时需要考虑的 是:

I 就绪队列的数量 II 就绪队列的优先级

III 各就绪队列的调度算法 IV 进程在就绪队列间的迁移条件

C、 II,III,IV; D I,II,III,IV A、 I,II; B、 III,IV;

【答案】 D

【解析】

多级反馈队列调度算法是时间片轮转调度算法与优先级调度算法的综合 与发展 ,需

要综合考虑 队列数量 ,优先级 、调度算法 及进程在队列间的迁移条件 。

27. 某系统中有 A,B 两类资 源各 6 个, t 时刻资源分配及需求情况如下表所示

B、存在安全序列 P2,P1,P3;

D、不存在安全序列。

t 时刻安全检测结果是:

A、存在安全序列 P1,P2,P3;

C、存在安全序列 P2,P3,P1;

【答案】 B

【解析】

Need = Max – Allocation =

4 4

3 1

3 4

-

2 3

2 1

1 2

=

2 1

1 0

2 2



Available = ( 1, 0 )

故此时只能满足进程 P2 的需求

释放 P2 所占的 资源 , Available = ( 0,0) +( 3,1) =( 3,1) , 仅能满足 P1 的需求

释放 P1 所占的资源 , Available = ( 1,0) +( 4,4) =( 5,1) ,可以满足 P3 的需求

故安全序列 为 P2,P1,P3

28. 下列因素影响请求分页系统有效(平均)访存时间的是:

I、 缺页率; II、 磁盘读写时间;

III、内存访问时间; IV 执行缺页处理程序的 CPU 时间;

A、 II,III B、 I,IV C、 I,III,IV D、 I,II,III,IV

【答案】 D

【解析 】

I、 缺页率影响 缺页 中断发生的频率

II、 磁盘读写 时间 影响 慢表和 物理地址的访问时间

III、 访存 时间影响 缺页中断的处理时间

IV、 CPU 时间影响缺页中断的处理时间

29. 下列关于父进程与子进程的叙述中错误的是:

A、父进程与子进程可以并发执行

B、父进程与子进程共享虚拟地址空间

C、父进程与子进程有不同的进程控制块

D、 父进程与子进程不能同时使用同一临界资源

【答案】 B

【解析】父进程不与子进程共享虚拟地址空间

30. 对于具备设备独立性的系统下列叙述中错误的是:

A、可以使用文件名访问物理设备;

B、用户程序使用逻辑设备与物理设备之间的映射关系

D、更换物理设备后必须修改访问该设备的应用程序。(缺一个选项)

【答案】 D

【解析】访问设备的驱动程序与具体设备无关

31. 某文件系统的目录由文件名和索引节点号构成。 若每个目录项长度为 64 字节,其中

4个字节存放索引节点号, 60 个字节存放文件名。文件名由小写英文字母构成,则该文

件系统能创建的文件数量的上限为:

A、 226 B、 232 C、 260 D、 264

【答案】 B

【解析】

创建 的 文件数 量上限 =索引节点 数量上限 ,索引节点为 4 个字节 32 位 ,故 最多

232个 索引节点 ,即 最 多创建 232个 文件

32. 下列准则中实现临界区互斥机制必须遵 循的是:

I、 两个进程不能同时进入临界区

II、 允许 进程 访问空闲的临界资源

III、 进程等待进入临界区的时间是有限 的

IV、 不能进入临界区的执行态进程 立即放弃 CPU

D、 I,III,IV A、 I,IV B、 II,III C、 I,II,III

【答案】 C

【解析】

临界 区 资源的 互斥准则 :

① 空闲让进 → II

② 忙则等待 → I

③ 有限 等待 → III

④ 让权等待

33. 下图描述的协议要素是 :

I、语法 II、语义 III、时序

A. I

B. II

C. III

D. I, II, III

【答案】 C

【解析】

协议由语法、语义和同步 (时序 )三部分组 成 。语法规定了传输数据的格式;语义规

定了所要完成的功能,即需要发出何种控制信息 、 完成何种动作以及做出何种应答 ;同

步规定了执行各个操作的条件、时序关系等,即时间实现顺序的详细说明。

该图显然描述的是 各操作的执行顺序 ,并 未 描述传输数据的格式或所要完成的功能 。

34. 下列关于虚电路网络的叙述中错误的是:

A、可以确保数据分组传输顺序

B、需要为每条虚电路预分配带宽

C、建立虚电路时需要进行路由选择

D、依据虚电路号( VCID)进行数据分组转 发

【答案】 B

【解析】不需要为每条虚电路预分配带宽

35. 下图所示的网络冲突域和广播域的个数分别

是:

A、 2, 2; B、 2, 4; C、 4, 2;

D、 4, 4;

【答案】 C

【解析】

路由器可以隔离广播域与网络冲突域,交换机只能隔离冲突域 , 集线器均不能隔离

36. 假设主机采用停 -等协议向主机乙发送数据帧,数据帧长与确认帧长均为 1000B。数 据传

输速率是 10kbps,单项传播延时是 200ms。则甲的最大信道利用率:

A、 80%; B、 66.7%; C、 44.4%; D、 40%

【答案】 D

【解析】

发送时间 t = 1000 8b / 10kbps = 800ms

发送周期 T = 200ms 2 + 800ms 2 = 2000ms

信道利用率 = ???? ? 100% = 40%

37. 某 IEEE 802.11 无线局域网中主机 H 与 AP 之间发送或接收 CSMA/CA 帧的过 程如

下图所示,在 H 或 AP 发送帧前所等待的帧间间隔时间( IFS)中最长的是:

A、 IFS1

B、 IFS2

C、 IFS3

D、 IFS4

【答案】 A

【解析】

IEEE 802.11 使用 3 种帧间隔 IFS:

1.分布式协调 帧间隔 DIFS:最长的 IFS,优先级最低 ,用于异步帧竞争访问的时延

2.点协调帧间隔 PIFS:中等长度 ,优先级 居中 ,在 PCF 操作中使用

3.短帧间隔 SIFS:最短 ,优先级最高 ,用 于 需要立即响应的操作

图中 IFS1 对应 DIFS, IFS2、 IFS3、 IFS4 对应 SIFS

38. 若主机甲与主机乙已建立一条 TCP 连接,最大段长( MSS)为 1KB,往返时间

( RTT)为 2ms, 则在不出现拥塞的前提下,拥塞窗口从 8kB 增长到 32KB 所需的最长

时间是:

A、 4ms B、 8ms C、 24ms D、 48ms

【答案】 D

【解析】 当慢开始门限 ssthresh 时,拥塞窗口从一开始就采取拥塞避免算法即“加法增

大” ,即每个轮次的拥塞窗口 +1,此时可求得题目所需的最长时间为

( 32 – 8 ) 2ms = 48ms

39. 若主机甲与主机乙建立 TCP 连接时发送的 SYN 段中的序号为 1000,在断开连接时,

甲 发送给乙的 FIN 段中的序号为 5001, 则在无任何重传的情况下,甲向乙已经发送的

应用层数据的字节数为:

A、 4002 B、 4001 C、 4000 D、 3999

【答案】 C

【解析】

SYN=1000, 则数据传输 时的 起始序号 为 1001,字节数 = FIN – 1001 = 4000

40. 假设下图所示网络中的本地域名服务器只提供递归查询服务,其他域名的服 务器均只提

供迭代查询服务;局域网内主机访问 Internet 上各服务器的往返时 间( RTT) 均为 10ms,

忽 略 其 他 各 种 时 延 , 若 主 机 H 通 过 超 链 接 http://www.abc.com/index.html,请求浏览纯

文本 Web 页 index.html,则 从点 击超链接开始到浏览器接收到 index.html 页面为止,

所需最短、最长时间分别 是:

A、 10ms, 40ms B、 10ms,50ms C、 20ms,40ms D、 20ms,50ms

【答案】 D

【解析】

最短时间 :本地域名服务器 存在 域名与 IP 地址的映射

主机 向本地域名服务器递归查询 10s + 数据传输 10ms = 20ms

最长时间 :本地域名 服务器不 存在 映射 ,需要迭代查询各级域名服务器 3 次

10ms + 迭代查询 3 次 30ms + 数据 传输 10ms = 50ms

大 题

41. 定义三元组( a, b, c)( a,b,c 均为正数)的距离 D=|a-b|+|b-c|+|c-a|. 给定 3 个非空整

数集合 S1, S2 ,S3, 按升序分别存储在 3 个数组中。请设计一个尽可能高效的算法,计

算并输出所有可能的三元组( a, b, c)( a∈S1,b∈S2,c∈S3 )中的最小距离。例如 S1={-

1, 0, 9}, S2={ -25, -10, 10, 11} , S3={ 2, 9, 17, 30, 41}则最小距离为 2,相应

的三元组为( 9, 10, 9)要求:

(1)给出算法的基本设计思想;

(2)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释;

(3)说明你所设计算法的时间复杂度和空间复杂度。

【解析】

方法一null

【 暴力法 】

三层 for 循环,时间复杂度为 O(lmn), l,m,n 分别为集合 S1,S2,S3 的长度

评分标准: 7 分

方法二

42. 若任一个字符的编码都不是其他字符编码的前缀,则称这种编码具有前缀特 性。现有某

字 符集(字符个数 ≥2 )的不等长编码,每个字符的编码均为二进制的 0, 1 序列,最长

为 L 位,且具有前缀特性。请回答下列问题:

( 1)哪种数据结构适宜保存上述具有前缀特性的不等长编码?

( 2)基于你所设计的数据结构,简述从 0/1 串到字符串的译码过程

( 3)简述判定某字符集的不等长编码是否具有前缀特性的过程

【解析】考点:前缀编码,赫夫曼 (Huffman)树

(1) 二叉树或赫夫曼树

普通的二叉树也可以设计前缀编码,赫夫曼树会使总长最小,是对前者的优化。

(2) 将所有的 字符信息 存储到二叉树的叶子结点上,且约定左 分支表示字符 ’0’,右分支

表示字符 ’1’,则可将根节点到叶子结点的路径上分支字符组成的字符串作为该叶子

结点字符的编码 。从根节点出发将 0/1 串沿着分支探查下去,遇到带有信息的叶子

结点即为一个字符,然后再从根节点出发,以此类推直至 0/1 串全部译码为字符串。

(3) 只需判定存储有字符信息的节点是否全部为叶子结点即可。若存储有某 个字符信息

的节点非叶子结点,即有子节点,那么它的 0/1 编码一定是它孩子节点 0/1 编码的

前缀,违反了前缀特性。

43. 有实现 xy 的两个 C 语 言函数如下:

unsigned umul ( unsigned x , unsigned y)

{ return xy; }

int imul ( int x, int y )

{ return x y; }

假定某计算机 M 中 ALU 只能进行加减运算和逻辑运算。请回答:

( 1) 若 M 的指令系统中没有乘法指令 , 但有加法 、 减法和位移等指令 , 则在 M 上也

能实现上述两个函数中的乘法运算,为什么?

( 2)若 M 的指令系统中有乘法指令,则基于 ALU、位移器、寄存器以及相应控制逻

辑实现乘法指令时,控制逻辑的作用是什么?

( 3) 针对以下 3 种情况 : ( a) 没有乘法指令 ; ( b) 有使用 ALU 和位移器实现的 乘法

指令;( c) 有使用阵列乘法器实现的乘法指令 , 函数 umul()在哪种情况下执行时间最长?

哪种情况下执行的时间最短?说明理由

( 4) n 位整数乘法指令可保存 2n 位乘积 , 当仅取低 n 位作为乘积时 , 其结果可能会

发生溢出 。 当 n=32, x=231-1, y=2 时,带符号整数乘法指令和无符号整数乘法指令得

到的 xy 的 2n 位乘积分别是什么(用十六进制表示)?此时函数 umul()和 imul()的

返回结果是否溢出?对于无符号整数乘法运算 , 当仅取乘积的低 n 位作为乘法结果时,

如何用 2n 位乘积进行溢出判断?

【解析】

( 1) 乘法运算 也可以通过加法 操作 和移位 操作实现

x y 可视为 y 个 x 或 x 个 y 相加的结果

( 2) 实现 相加和移位的控制

( 3) 最长 : a 最短 : c

a) 情况下执行时间最长 ,需要利用 其他指令来实现 乘法功能

b) 情况下 使用了 ALU 与位移器 , 由多次相加及位移操作 串行 实现 乘法操作

c) 情况使用阵列乘法器做 并行 乘法运算 ,时间显然最快

( 4) 带符号整数指令 乘法 : 7FFF FFFFH 2 = 0000 0000 FFFF FFFEH

无符号整数 指令乘法 : 7FFF FFFFH 2 = 0000 0000 FFFF FFFEH

umul()返回 FFFF FFFEH 未溢出

imul()返回 FFFF FFFEH 有溢出 (结果成了负数 )

高 n 位全 0 则未 产生 溢出 ,否则产生溢出

44. 假定主存地址 为 32 位,按字节编址,指令 Cache 和数据 Cache 与主存之间 均采用 8

路组相联映射方式,直写( Write Through)写策略和 LRU 替换算法, 主存块大小为 64B,

数据区容量各为 32KB。开始时 Cache 均为空,请回答下列问 题:

( 1) Cache 每一行中标记( Tag)、 LRU 位各占几位?是否有修改位?

( 2)有如下 C 语言程序段:

for ( k = 0 ; k < 1024 ; k++ )

S[k] = 2 s[k];

若数组 S 及其变量 k 均为 int 型, int 型数据 占 4B,变 量 k 分配在寄存器中,数

组 s 在主存中的起始地址为 0080 00C0H,则该程序段执行过程中,访问数组 S 的数

据 Cache 缺失次数为多少?

( 3)若 CPU 最先开始的访问操作是读取主存单元 0001 003H 中的指令,简要说明从

Cache 中访问该指令的过程,包括 Cache 缺失处理过程 。

【解析】

( 1) 主存地址为 32 位 , 其中 6 位 为 块内 地址

标记 : 32 – 6 – 6 = 20 位

LRU : 3 位

直写写 策略 无修改 位

( 2) 在 该 程序的执行过程中 , 产生一次缺失 时会更新 Cache 中的 16 块 ,之后的 15

次 访问均命中 Cache,故平均 每 16 次 访问 Cache 就会 产生一次 缺失 , K 的范围

为 1024, 即共 1024 次 访问 Cache, Cache 缺失次数 =1024/16=64 次

( 3) CPU 访 指 的 大致 过程 :

CPU 发出读请求时 ,若访存地址在 Cache 中命中 ,就将此地址转换成 Cache 地

址 ,直接对 Cache 进行读操作 ,与主存无关 ;若 Cache 不命中 ,则仍需访问主

存 ,并把此 字 所在的一块 一次性 从主存 调入 Cache,若此时 Cache 已满 ,就根

据 LRU 替换算法 ,用这个 块 替换 Cache 中的一块信息 。

45. 现 有 5 个操作 A、 B、 C、 D 和 E,操作 C 必须在 A 和 B 完成后执行,操作 E 必须

在 C 和 D 完成后执行 , 请使用信号量的 wait(), signal(),操 作 ( P、 V 操作) 描述上述

操作之间的同步关系,并说明所用信号量及其初值。

【解析】

46. 某 32 位系统采用基于二级页表的请求分页存储管理方式,按字节编址,页 目录项和页

表项长度均为 4 字节,虚拟地址结 构如下:

页目录号 ( 10 位 ) 页号 ( 10 位 ) 页内偏移量 ( 12 位 )

某 C 程序中数组 a[1024][1024]的起始虚拟地址为 1080 0000H,数组元素占 4 字节,

该程序运行时,其进程的页目录起始物理地址为 0020 1000H,请回答下列问题:

( 1) 数组元素 a[1][2]的虚拟地址是什么?对应的页目录号和页号分别是什么? 对应的

页目录项的物理地址是什么?若该目录项中存放的页框号为 00301H,则 a[1][2]所 在页

对应的页表项的物理地址是什么?

( 2) 数组 a 在虚拟地址空间中所占区域是否必须连续?在物理地址空间中所占区域是

否必须连续?

( 3) 已知数组 a 按行优先方式存放 , 若对数组 a 分别按行遍历和按列遍历 , 则哪一种

遍历方式的局部性更好?

【解析】

(1) 页面大小 = 212 B = 4KB,数组元素占 4 字节,每个页面存放 1K 个数组元素, 1080

000H 的 虚页号为 1080H,注意到 二维数组 a 的一行 的 元素个数 与每个页面存 放的

元素个数相同 ,故 a[0]存放 的虚页号为 1080H, a[1]存放的 虚页号为 1081H, a[1][2]

的虚拟地址为 1081 0000H + 24 = 1081 0008H

1081 0008H = 0001 0000 1000 0001 0000 0000 0000 1000, 对应的页目录号为 66,

页号为 16

页目录的长 度为 4B, 66 号页目录项的物理地址是 0020 1000H + 664 = 0020 1108H

该目录项中 存放的页框号是 00301H,则该页框的起始地址是 0030 1000H, a[1][2]

所在页面的页号为 16,每个 页表项为 4B,对应的页表项 物理地址为 0030

1000H+164 = 0030 1040H

(2) 在 虚拟 地址空间中所占区域 必须连续 ,在 物理 地址空间中所占区域 可 以 不连续

(3) 按 行遍历 的局部性更好 , 二维数组 a 的一行 的 元素个数 与每个页面存 放的 元素个数

相同 ,故一行的所有元素均可以存放在同一个页面中 ,行遍历 时遍历同一行中的所

有元素访问的是同一个 页面 。

47. 某 校园网有两个局域网,通过路由器 R1、 R2 和 R3 互联后接入 Internet, S1 和 S2

为以太网交换机,局域网采用静态 IP 地址配置,路由器部分接口以及 各主机的 IP 地

址如图所示:

假设 NAT 转换表结构为 :

外网 内网

IP 地址 端口号 IP 地址 端口号

请回答下列问题:

( 1) 为使 H2 和 H3 能够访问 Web 服务 器 (使用默认端口号 ) , 需要进行什么配置?

( 2)若 H2 主动访问 Web 服务器时 , 将 HTTP 请求报文封装到 IP 数据报 P 中发送 ,

则 H2 发送 P 的源 IP 地 址和目的 IP 地 址分别是?经过 R3 转发后, P 的源 IP 地

址和目的 IP 地址分别是?经过 R2 转发后, P 的源 IP 地址和目的 IP 地址分别是?

【解析】

( 1) 注 : H2 和 H3 应是 192 168 1 2 的 台式机与 192 168 1 3 的 笔记本

路由器 R2 需要开启 NAT 服务 , 对应的 NAT 转换表做如下配置 :

外网 内网

IP 地址 端口号 IP 地址 端口号

203.10.2.6 默认端口号 192.168.1.2 80

203.10.2.6 默认端口号 192.168.1.3 80

( 2) H2 发送 P 的源 IP 地址 : 192.168.1.2 目的 IP 地址 : 203.10.2.2

R3 发送 P 的源 IP 地址 : 203.10.2.6 目的 IP 地址 : 203.10.2.2

R2 发送 P 的源 IP 地址 : 203.10.2.6 目的 IP 地址 : 192.168.1.2

献花(0)
+1
(本文系公职资料库原创)