# 2013年全国硕士研究生入学统一考试 # 计算机科学与技术学科联考计算机学科专业基础综合试题 # 一、单项选择题:1~40小题,每小题2分,共80分。下列每题给出的四个选项中,只有一个选项符合试题要求。 1. 已知两个长度分别为 $m$ 和 $n$ 的升序链表, 若将它们合并为一个长度为 $m + n$ 的降序链表, 则最坏情况下的时间复杂度是 A. $O(n)$ B. $O(m \times n)$ C. $O(\min (m,n))$ D. $O(\max (m,n))$ 2. 一个栈的入栈序列为 $1,2,3,\dots ,n$ ,其出栈序列是 $p_1,p_2,p_3,\dots ,p_n$ 。若 $p_2 = 3$ ,则 $p_3$ 可能取值的个数是 A. $n - 3$ B. $n - 2$ C. $n - 1$ D. 无法确定 3. 若将关键字 1, 2, 3, 4, 5, 6, 7 依次插入到初始为空的平衡二叉树 $T$ 中, 则 $T$ 中平衡因子为 0 的分支结点的个数是 A. 0 B. 1 C. 2 D. 3 4. 已知三叉树 $T$ 中 6 个叶结点的权分别是 2, 3, 4, 5, 6, 7, $T$ 的带权(外部)路径长度最小是 A. 27 B. 46 C. 54 D. 56 5. 若 X 是后序线索二叉树中的叶结点, 且 X 存在左兄弟结点 Y, 则 X 的右线索指向的是 A. X 的父结点 B. 以 $\mathrm{Y}$ 为根的子树的最左下结点 C. X 的左兄弟结点 Y D. 以 $\mathrm{Y}$ 为根的子树的最右下结点 6. 在任意一棵非空二叉排序树 $T_{1}$ 中,删除某结点 $\nu$ 之后形成二叉排序树 $T_{2}$ ,再将 $\nu$ 插入 $T_{2}$ 形成二叉排序树 $T_{3}$ 。下列关于 $T_{1}$ 与 $T_{3}$ 的叙述中,正确的是 I. 若 $v$ 是 $T_{1}$ 的叶结点, 则 $T_{1}$ 与 $T_{3}$ 不同 II. 若 $v$ 是 $T_{1}$ 的叶结点, 则 $T_{1}$ 与 $T_{3}$ 相同 III. 若 $\nu$ 不是 $T_{1}$ 的叶结点, 则 $T_{1}$ 与 $T_{3}$ 不同 IV. 若 $v$ 不是 $T_{1}$ 的叶结点, 则 $T_{1}$ 与 $T_{3}$ 相同 A. 仅 I、III B. 仅 I、IV C. 仅 II、III D. 仅 II、IV 7. 设图的邻接矩阵 A 如下所示。各顶点的度依次是 $$ A = \left[ \begin{array}{c c c c} 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \end{array} \right] $$ A. 1, 2, 1, 2 B. 2, 2, 1, 1 C. 3, 4, 2, 3 D. 4, 4, 2, 2 8. 若对如下无向图进行遍历,则下列选项中,不是广度优先遍历序列的是 A.h,c,a,b,d,e,g,f B.e,a,f,g,b,h,c,d C.d,b,c,a,h,e,f,g D. a, b, c, d, h, e, f, g ![](https://408.foreverlink.love/images/0129314348ec47449e736c1a7fb2f9ce.jpg) 9. 下列 AOE 网表示一项包含 8 个活动的工程。通过同时加快若干活动的进度可以缩短整个工程的工期。下列选项中,加快其进度就可以缩短工程工期的是 ![](https://408.foreverlink.love/images/f1f2adaac775a3a9c71c5dc6d3966224.jpg) A.c和e B. d 和 e C.f和d D. f 和 h 10. 在一株高度为 2 的 5 阶 B 树中, 所含关键字的个数最少是 A.5 B. 7 C. 8 D. 14 11. 对给定的关键字序列 110, 119, 007, 911, 114, 120, 122 进行基数排序, 则第 2 趟分配收集后得到的关键字序列是 A. 007, 110, 119, 114, 911, 120, 122 B. 007, 110, 119, 114, 911, 122, 120 C. 007, 110, 911, 114, 119, 120, 122 D. 110, 120, 911, 122, 114, 007, 119 12. 某计算机主频为 $1.2 \mathrm{GHz}$ , 其指令分为 4 类, 它们在基准程序中所占比例及 CPI 如下表所示。
指令类型所占比例CPI
A50%2
B20%3
C10%4
D20%5
该机的 MIPS 数是 A. 100 B. 200 C. 400 D. 600 13. 某数采用 IEEE 754 单精度浮点数格式表示为 C640000H,则该数的值是 A. $-1.5 \times 2^{13}$ B. $-1.5 \times 2^{12}$ C. $-0.5 \mathrm{x} \times 2^{13}$ D. $-0.5 \times 2^{12}$ 14. 某字长为 8 位的计算机中,已知整型变量 $x$ 、 $y$ 的机器数分别为 $[x]_{\text{补}} = 1$ 1110100, $[y]_{\text{补}} = 1$ 0110000。若整型变量 $z = 2 * x + y / 2$ ,则 $z$ 的机器数为 A. 1 1000000 B. 0 0100100 C. 10101010 D. 溢出 15. 用海明码对长度为 8 位的数据进行检/纠错时, 若能纠正一位错。则校验位数至少为 A. 2 B. 3 C. 4 D. 5 16. 某计算机主存地址空间大小为 $256 \mathrm{MB}$ , 按字节编址。虚拟地址空间大小为 $4 \mathrm{~GB}$ , 采用页式存储管理, 页面大小为 $4 \mathrm{KB}, \mathrm{TLB}$ (快表) 采用全相联映射, 有 4 个页表项, 内容如下表所示。
有效位标记页框号...
0FF180H0002H...
13FFF1H0035H...
002FF3H0351H...
103FFFH0153H...
则对虚拟地址 03FF F180H 进行虚实地址变换的结果是 A. 0153180H B. 0035180H C.TLB缺失 D. 缺页 17. 假设变址寄存器 R 的内容为 $1000 \mathrm{H}$ , 指令中的形式地址为 $2000 \mathrm{H}$ ; 地址 $1000 \mathrm{H}$ 中的内容为 $2000 \mathrm{H}$ , 地址 $2000 \mathrm{H}$ 中的内容为 $3000 \mathrm{H}$ , 地址 $3000 \mathrm{H}$ 中的内容为 $4000 \mathrm{H}$ , 则变址寻址方式下访问到的操作数是 A. ${1000}\mathrm{H}$ B. 2000H C. ${3000}\mathrm{H}$ D. ${4000}\mathrm{\;H}$ 18. 某CPU主频为 $1.03\mathrm{GHz}$ ,采用4级指令流水线,每个流水段的执行需要1个时钟周期。假定CPU执行了100条指令,在其执行过程中,没有发生任何流水线阻塞,此时流水线的吞吐率为 A. $0.25 \times 10^{9}$ 条指令/秒 B. $0.97 \times 10^{9}$ 条指令/秒 C. $1.0 \times 10^{9}$ 条指令/秒 D. $1.03 \times 10^{9}$ 条指令/秒 19. 下列选项中,用于设备和设备控制器(I/O接口)之间互连的接口标准是 A. PCI B. USB C. AGP D. PCI-Express 20. 下列选项中,用于提高 RAID 可靠性的措施有 I. 磁盘镜像 II. 条带化 III. 奇偶校验 IV. 增加 Cache 机制 A.仅I、II B. 仅 I、III C. 仅 I、III 和 IV D. 仅 II、III 和 IV 21. 某磁盘的转速为 10000 转/分,平均寻道时间是 $6 \mathrm{~ms}$ ,磁盘传输速率是 $20 \mathrm{MB} / \mathrm{s}$ ,磁盘控制器延迟为 $0.2 \mathrm{~ms}$ ,读取一个 $4 \mathrm{KB}$ 的扇区所需的平均时间约为 A. $9\mathrm{\;{ms}}$ B. $9.4 \mathrm{~ms}$ C. $12 \mathrm{~ms}$ D. $12.4 \mathrm{~ms}$ 22. 下列关于中断 I/O 方式和 DMA 方式比较的叙述中,错误的是 A. 中断 I/O 方式请求的是 CPU 处理时间, DMA 方式请求的是总线使用权 B. 中断响应发生在一条指令执行结束后, DMA 响应发生在一个总线事务完成后 C. 中断 I/O 方式下数据传送通过软件完成, DMA 方式下数据传送由硬件完成 D. 中断 I/O 方式适用于所有外部设备, DMA 方式仅适用于快速外部设备 23. 用户在删除某文件的过程中,操作系统不可能执行的操作是 A. 删除此文件所在的目录 B. 删除与此文件关联的目录项 C. 删除与此文件对应的文件控制块 D. 释放与此文件关联的内存级冲区 24. 为支持 CD-ROM 中视频文件的快速随机播放,播放性能最好的文件数据块组织方式是 A. 连续结构 B. 链式结构 C. 直接索引结构 D. 多级索引结构 25. 用户程序发出磁盘 I/O 请求后,系统的处理流程是:用户程序 $\rightarrow$ 系统调用处理程序 $\rightarrow$ 设备驱动程序 $\rightarrow$ 中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是 A. 用户程序 B. 系统调用处理程序 C. 设备驱动程序 D. 中断处理程序 26. 若某文件系统索引结点(inode)中有直接地址项和间接地址项,则下列选项中,与单个文件长度无关的因素是 A. 索引结点的总数 B. 间接地址索引的级数 C. 地址项的个数 D. 文件块大小 27. 设系统缓冲区和用户工作区均采用单缓冲,从外设读入 1 个数据块到系统缓冲区的时间为 100,从系统缓冲区读入 1 个数据块到用户工作区的时间为 5,对用户工作区中的 1 个数据块进行分析的时间为 90(如下图所示)。进程从外设读入并分析 2 个数据块的最短时间是 ![](https://408.foreverlink.love/images/fb6128c544c135b7c6a8b8b9b6d6cd8c.jpg) A. 200 B. 295 C. 300 D.390 28. 下列选项中,会导致用户进程从用户态切换到内核态的操作是 I. 整数除以零 II. sin()函数调用 III. read 系统调用 A. 仅 I、II B. 仅 I、III C. 仅 II、III D. I、II 和 III 29. 计算机开机后,操作系统最终被加载到 A. BIOS B. ROM C. EPROM D. RAM 30. 若用户进程访问内存时产生缺页,则下列选项中,操作系统可能执行的操作是 I. 处理越界错 II. 置换页 III. 分配内存 A. 仅 I、II B. 仅 II、III C. 仅 I、III D. I、II 和 III 31. 某系统正在执行三个进程 P1、P2 和 P3,各进程的计算(CPU)时间和 I/O 时间比例如下表所示。
进程计算时间I/O 时间
P190%10%
P250%50%
P315%85%
为提高系统资源利用率,合理的进程优先级设置应为 A. P1>P2>P3 B. P3>P2>P1 C. $\mathrm{P}2 > \mathrm{P}1 = \mathrm{P}3$ D. P1>P2=P3 32. 下列关于银行家算法的叙述中,正确的是 A. 银行家算法可以预防死锁 B. 当系统处于安全状态时, 系统中一定无死锁进程 C. 当系统处于不安全状态时, 系统中一定会出现死锁进程 D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件 33. 在 OSI 参考模型中,下列功能需由应用层的相邻层实现的是 A. 对话管理 B. 数据格式转换 C. 路由选择 D. 可靠数据传输 34. 若下图为 $10 \mathrm{BaseT}$ 网卡接收到的信号波形, 则该网卡收到的比特串是 ![](https://408.foreverlink.love/images/9c2912ab7a3aeda25dd0629072de5431.jpg) A. 0011 0110 B. 1010 1101 C. 0101 0010 D. 1100 0101 35. 主机甲通过 1 个路由器(存储转发方式)与主机乙互联,两段链路的数据传输速率均为 10 Mbps,主机甲分别采用报文交换和分组大小为 $10 \mathrm{~kb}$ 的分组交换向主机乙发送 1 个大小为 $8 \mathrm{Mb} (1 \mathrm{M} = 10^{6})$ 的报文。若忽略链路传播延迟、分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为 A. $800 \mathrm{~ms} 、 1600 \mathrm{~ms}$ B. $801 \mathrm{~ms} 、 1600 \mathrm{~ms}$ C. $1600 \mathrm{~ms} 、 800 \mathrm{~ms}$ D. $1600 \mathrm{~ms} 、 801 \mathrm{~ms}$ 36. 下列介质访问控制方法中,可能发生冲突的是 A. CDMA B. CSMA C. TDMA D. FDMA 37. HDLC协议对01111000111110组帧后对应的比特串为 A. 01111100 00111110 10 B. 01111100 01111101 0111110 C. 01111100 01111101 0 D. 01111100 01111110 01111101 38. 对于 100Mbps 的以太网交换机,当输出端口无排队,以直通交换(cut-through switching)方式转发一个以太网帧(不包括前导码)时,引入的转发延迟至少是 A. $0 \mu \mathrm{s}$ B. ${0.48\mu }\mathrm{s}$ C. $5.12 \mu \mathrm{s}$ D. 121.44 μs 39. 主机甲与主机乙之间已建立一个 TCP 连接,双方持续有数据传输,且数据无差错与丢失。若甲收到 1 个来自乙的 TCP 段,该段的序号为 1913、确认序号为 2046、有效载荷为 100 字节,则甲立即发送给乙的 TCP 段的序号和确认序号分别是 A. 2046、2012 B. 2046、2013 C. 2047、2012 D. 2047、2013 40. 下列关于 SMTP 协议的叙述中,正确的是 I. 只支持传输 7 比特 ASC II 码内容 II. 支持在邮件服务器之间发送邮件 III. 支持从用户代理向邮件服务器发送邮件 IV. 支持从邮件服务器向用户代理发送邮件 A. 仅 I、II 和 III B. 仅 I、II 和 IV C. 仅 I、III 和 IV D. 仅 II、III 和 IV # 二、综合应用题:41~47 小题,共 70 分。 41.(13分)已知一个整数序列 $A = (a_{0}, a_{1}, \dots, a_{n - 1})$ ,其中 $0 \leq a_{i} < n (0 \leq i < n)$ 。若存在 $a_{p1} = a_{p2} = \dots = a_{pm} = x$ 且 $m > n / 2 (0 \leq p_k < n, 1 \leq k \leq m)$ ,则称 $x$ 为 $A$ 的主元素。例如 $A = (0, 5, 5, 3, 5, 7, 5, 5)$ ,侧5为主元素;又如 $A = (0, 5, 5, 3, 5, 1, 5, 7)$ ,则 $A$ 中没有主元素。假设 $A$ 中的 $n$ 个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出 $A$ 的主元素。若存在主元素,则输出该元素;否则输出-1。要求: (1) 给出算法的基本设计思想。 (2) 根据设计思想, 采用 C 或 $\mathrm{C}++$ 或 Java 语言描述算法, 关键之处给出注释。 (3) 说明你所设计算法的时间复杂度和空间复杂度。 42.(10分)设包含4个数据元素的集合 $S = \{ "do", "for", "repeat", "while" \}$ ,各元素的查找概率依次为: $p1 = 0.35$ , $p2 = 0.15$ , $p3 = 0.15$ , $p4 = 0.35$ 。将 $S$ 保存在一个长度为4的顺序表中,采用折半查找法,查找成功时的平均查找长度为2.2。请回答: (1) 若采用顺序存储结构保存 $S$ , 且要求平均查找长度更短, 则元素应如何排列? 应使用何种查找方法? 查找成功时的平均查找长度是多少? (2) 若采用链式存储结构保存 $S$ , 且要求平均查找长度更短, 则元素应如何排列? 应使用何种查找方法? 查找成功时的平均查找长度是多少? 43.(9分)某32位计算机,CPU主频为 $800\mathrm{MHz}$ ,Cache命中时的CPI为4,Cache块大小为32字节;主存采用8体交叉存储方式,每个体的存储字长为32位、存储周期为 $40~\mathrm{ns}$ ;存储器总线宽度为32位,总线时钟频率为 $200\mathrm{MHz}$ ,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送32字节,传送地址或32位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或计算过程。 (1) CPU 和总线的时钟周期各为多少? 总线的带宽 (即最大数据传输率) 为多少? (2) Cache 缺失时, 需要用几个读突发传送总线事务来完成一个主存块的读取? (3) 存储器总线完成一次读突发传送总线事务所需的时间是多少? (4) 若程序 BP 执行过程中, 共执行了 100 条指令, 平均每条指令需进行 1.2 次访存, Cache 缺失率为 $5\%$ , 不考虑替换等开销, 则 BP 的 CPU 执行时间是多少? 44. (14 分) 某计算机采用 16 位定长指令字格式, 其 CPU 中有一个标志寄存器, 其中包含进位/借位标志 CF、零标志 ZF 和符号标志 NF。假定为该机设计了条件转移指令, 其格式如下: 下:
1511109870
0000CZN
OFFSET
其中,00000 为操作码 OP;C、Z 和 N 分别为 CF、ZF 和 NF 的对应检测位,某检测位为 1 时表示需检测对应标志,需检测的标志位中只要有一个为 1 就转移,否则不转移,例如,若 $C = 1$ , $Z = 0$ , $N = 1$ ,则需检测 CF 和 NF 的值,当 $CF = 1$ 或 $NF = 1$ 时发生转移;OFFSET 是相对偏移量,用补码表示。转移执行时,转移目标地址为(PC)+2+2×OFFSET;顺序执行时,下条指令地址为(PC)+2。请回答下列问题。 (1) 该计算机存储器按字节编址还是按字编址? 该条件转移指令向后(反向)最多可跳转多少条指令? (2) 某条件转移指令的地址为 $200 \mathrm{CH}$ , 指令内容如下图所示, 若该指令执行时 $\mathrm{CF} = 0$ , $\mathrm{ZF} = 0$ , $\mathrm{NF} = 1$ , 则该指令执行后 PC 的值是多少? 若该指令执行时 $\mathrm{CF} = 1$ , $\mathrm{ZF} = 0$ , $\mathrm{NF} = 0$ , 则该指令执行后 PC 的值又是多少? 请给出计算过程。
1511109870
0000111 1 1 0 0 0 1 1
(3) 实现“无符号数比较小于等于时转移”功能的指令中, C、Z 和 N 应各是什么? (4) 以下是该指令对应的数据通路示意图, 要求给出图中部件①~③的名称或功能说明。 ![](https://408.foreverlink.love/images/fb89602081a502101877d212863c11e1.jpg) 45.(7分)某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过。参观者的活动描述如下: cobegin 参观者进程i: ```txt { ... 进门; ... 参观; ... 出门; ... } coend ``` 请添加必要的信号量和 P、V(或 wait()、signal())操作,以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。 46.(8分)某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节。请回答下列问题。 (1)若使用一级页表的分页存储管理方式,逻辑地址结构为:
页号(20位)页内偏移量(12位)
则页的大小是多少字节?页表最大占用多少字节? (2) 若使用二级页表的分页存储管理方式, 逻辑地址结构为:
页目录号(10位)页表索引(10位)页内偏移量(12位)
设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。 (3) 采用 (1) 中的分页存储管理方式, 一个代码段起始逻辑地址为 $00008000\mathrm{H}$ , 其长度为 $8 \mathrm{KB}$ , 被装载到从物理地址 00900000H 开始的连续主存空间中。页表从主存 00200000H 开始的物理地址处连续存放, 如下图所示 (地址大小自下向上递增)。请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号以及代码页面 2 的起始物理地址。 ![](https://408.foreverlink.love/images/9a0fd9c42ced9db237132009e051f067.jpg) 47.(9分)假设Internet的两个自治系统构成的网络如题47图所示,自治系统ASI由路由器R1连接两个子网构成;自治系统AS2由路由器R2、R3互联并连接3个子网构成。各子 网地址、R2的接口名、R1与R3的部分接口IP地址如题47图所示。 ![](https://408.foreverlink.love/images/544dc93389d484266767f3815e2f8522.jpg) 题47图 网络拓扑结构 请回答下列问题。 (1) 假设路由表结构如下表所示。请利用路由聚合技术, 给出 R2 的路由表, 要求包括到达题 47 图中所有子网的路由, 且路由表中的路由项尽可能少。
目的网络下一跳接口
(2) 若 R2 收到一个目的 IP 地址为 194.17.20.200 的 IP 分组, R2 会通过哪个接口转发该 IP 分组? (3) R1 与 R2 之间利用哪个路由协议交换路由信息? 该路由协议的报文被封装到哪个协议的分组中进行传输? # 计算机学科专业基础综合试题参考答案及解析(2013年) # 一、单项选择题 1. D 解析: $m 、 n$ 是两个升序链表, 长度分别为 $m$ 和 $n$ 。在合并过程中, 最坏的情况是两个链表中的元素依次进行比较, 比较的次数最少是 $m$ 和 $n$ 中的最小值。 2. C 解析:除了3本身以外,其他的值均可以取到,因此可能取值的个数为 $n - 1$ 。 3. D 解析:利用7个关键字构建平衡二叉树 $T$ ,平衡因子为0的分支结点个数为3,构建的平衡二叉树如下图所示。 ![](https://408.foreverlink.love/images/667c379659a77b1a8e378d9e891e842e.jpg) 4. B 解析:利用三叉树的 6 个叶子结点的权构建最小带权生成树,最小的带权路径长度为 $(2 + 3) \times 3 + (4 + 5) \times 2 + (6 + 7) \times 1 = 46$ 。 5. A 解析:根据后续线索二叉树的定义,X 结点为叶子结点且有左兄弟,那么这个结点为右孩子结点,利用后续遍历的方式可知 X 结点的后继是其父结点,即其右线索指向的是父结点。 6. C 解析:在一棵二叉排序树中删除一个结点后再将此结点插入到二叉排序树中,如果删除的结点是叶子结点,那么在插入结点后,后来的二叉排序树与删除结点之前相同。如果删除的结点不是叶子结点,那么再插入这个结点后,后来的二叉树可能发生变化,不完全相同。 7. C 解析:各顶点的度是矩阵中此结点对应的横行和纵列非零元素之和。 8. D 解析:D 选项是深度优先遍历不是广度优先遍历的顺序。 9. C 解析:根据AOE网的定义可知,关键路径上的活动时间同时减少,可以缩短工期。 10. A 解析:一棵高度为 2 的 5 阶 B 树,根结点只有到达 5 个关键字的时候才能产生分裂,成为高度为 2 的 B 树。 11. C 解析:基数排序的第 1 趟排序是按照个位数字来排序的,第 2 趟排序是按然十位数字的大小进行排序的,答案是 C 选项。 12. C 解析:基准程序的 $\mathrm{CPI} = 2 \times 0.5 + 3 \times 0.2 + 4 \times 0.1 + 5 \times 0.2 = 3$ ,计算机的主频为 $1.2\mathrm{GHz}$ ,为 $1200\mathrm{MHz}$ ,该机器的是 MIPS 为 $1200/3 = 400$ 。 13. A 解析:IEEE 754 单精度浮点数格式为 C640 0000H,二进制格式为 1100 0110 0100 0000 0000 0000 0000 0000,转换为标准的格式为:
S阶码尾数
11000 1100100 0000 0000 0000 0000 0000
因此,浮点数的值为 $-1.5 \times 2^{13}$ 。 14. A 解析:将 $x$ 左移一位, $y$ 右移一位,两个数的补码相加的机器数为 1100000,答案选择 A。 15. C 解析:设校验位的位数为 $k$ ,数据位的位数为 $n$ ,应满足下述关系: $2^{k} \geq n + k + 1$ 。 $n = 8$ ,当 $k = 4$ 时, $2^{4}(= 16) > 8 + 4 + 1(= 13)$ 符合要求,校验位至少是 4 位。 16. A 解析:虚拟地址为 03FF F180H,其中页号为 03FFFH,页内地址为 180H,根据题目中给出的页表项可知页标记为 03FFFH 所对应的页框号为 0153H,页框号与页内地址之和即为物理地址 0153180 H。 17. D 解析:根据变址寻址的主要方法,变址寄存器的内容与形式地址的内容相加之后,得到操作数的实际地址,根据实际地址访问内存,获取操作数 $4000\mathrm{H}$ 。 ![](https://408.foreverlink.love/images/c3f5af0fea9ac02bf730022e25d7f079.jpg) 18.C 解析:采用 4 级流水执行 100 条指令,在执行过程中共用 $4 + (100 - 1) = 103$ 个时钟周期。CPU 的主频是 $1.03 \mathrm{GHz}$ ,也就是说每秒钟有 $1.03 \mathrm{~G}$ 个时钟周期。流水线的吞吐率为 $1.03 \mathrm{G} \times 100 / 103 = 1.0 \mathrm{~Q}$ (条指令/秒)。 19. B 解析:设备和设备控制器之间的接口是USB接口,其余选项不符合,答案为B。 20. B 解析:能够提高 RAID 可靠性的措施主要是对磁盘进行镜像处理和进行奇偶校验。其余选项不符合条件。 21.B 解析:磁盘转速是10000转/分钟,平均转一转的时间是 $6\mathrm{~ms}$ ,因此平均查询扇区的时间是 $3\mathrm{~ms}$ ,平均寻道时间是 $6\mathrm{~ms}$ ,读取4KB扇区信息的时间为 $0.2\mathrm{~ms}$ ,信息延迟的时间为 $0.2\mathrm{~ms}$ ,总时间为 $3 + 6 + 0.2 + 0.2 = 9.4\mathrm{~ms}$ 。 22. D 解析:中断处理方式:在 I/O 设备输入每个数据的过程中,由于无需 CPU 干预,因而可使 CPU 与 I/O 设备并行工作。仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理。因此中断申请使用的是 CPU 处理时间,发生的时间是在一条指令执行结束之后,数据是在软件的控制下完成传送。而 DMA 方式与之不同。DMA 方式:数据传输的基本单位是数据块,即在 CPU 与 I/O 设备之间,每次传送至少一个数据块;DMA 方式每次申请的是总线的使用权,所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需 CPU 干预,整块数据的传送是在控制器的控制下完成的。答案 D 的说法不正确。 23. A 解析:删除文件不需要删除文件所在的目录,而文件的关联目录项和文件控制块需要随着文件一同删除,同时释放文件的关联缓冲区。 24. A 解析:为了实现快速随机播放,要保证最短的查询时间,即不能选取链表和索引结构,因此连续结构最优。 25. C 解析:计算磁盘号、磁头号和扇区号的工作是由设备驱动程序完成的,答案选 C。 26. A 解析:四个选项中,只有 A 选项是与单个文件长度无关的。 27. C 解析:数据块 1 从外设到用户工作区的总时间为 105,在这段时间中,数据块 2 没有进行操作。在数据块 1 进行分析处理时,数据块 2 从外设到用户工作区的总时间为 105,这段时间是并行的。再加上数据块 2 进行处理的时间 90,总共是 300,答案为 C。 28. B 解析:需要在系统内核态执行的操作是整数除零操作和 read 系统调用函数,答案选 B。 29. D 解析:系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区城是 RAM,答案选 D。 30. B 解析:用户进程访问内存时缺页会发生缺页中断。发生缺页中断,系统地执行的操作可能是置换页面或分配内存。系统内没有越界的错误,不会进行越界出错处理。 31. B 解析:为了合理地设置进程优先级,应该将进程的CPU利用时间和I/O时间做综合考虑,答案选B。 32. B 解析:银行家算法是避免死锁的方法。利用银行家算法,系统处于安全状态时没有死锁进程,答案选B。 33. B 解析:OSI 参考模型中,应用层的相邻层是表示层。表示层是 OSI 七层协议的第六层。表示层的目的是表示出用户看得懂的数据格式,实现与数据表示有关的功能。主要完成数据字符集的转换、数据格式化和文本压缩、数据加密、解密等工作。因此答案选 B。 34. A 解析:根据信号编码的基本规则可知,网卡收到的比特串为 00110110,答案选 A。 35. D 解析:不进行分组时,发送一个报文的时延是 $8\mathrm{Mb} / 10\mathrm{Mb / s} = 800\mathrm{ms}$ ,在接收端接收此报文件的时延也是 $800~\mathrm{ms}$ ,共计 $1600~\mathrm{ms}$ 。进行分组后,发送一个报文的时延是 $10\mathrm{kb} / 10\mathrm{Mb / s} = 1\mathrm{ms}$ ,接收一个报文的时延也是 $1\mathrm{ms}$ ,但是在发送第二个报文时,第一个报文已经开始接收。共计有800个分组,总时间为 $801~\mathrm{ms}$ 。 36. B 解析:介质访问控制协议中能够发生冲突的是 CSMA 协议,答案为 B。 37.A 解析:HDLC协议对比特串进行组帧时,HDLC数据帧以位模式0111110标识每一个帧的开始和结束,因此在帧数据中凡是出现了5个连续的位“1”的时候,就会在输出的位流中填充一个“0”。所以答案为A。 38. B 解析:直通交换方式是指以太网交换机可以在各端口间交换数据。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。通常情况下,直通交换方式只检查数据包的包头即前14个字节,由于不需要考虑前导码,只需要检测目的地址的6B,所以最短的传输延迟是 $0.48\mu s$ 。 39. B 解析:若甲收到1个来自乙的TCP段,该段的序号seq=1913、确认序号ack = 2046、有效载荷为100字节,则甲立即发送给乙的TCP段的序号seq1=ack=2046和确认序号ack1=seq+100=2013,答案为B。 40. A 解析:根据下图可知,SMTP协议支持在邮件服务器之间发送邮件,也支持从用户代理向邮件服务器发送信息。SMTP协议只支持传输7比特的ASCII码内容。 ![](https://408.foreverlink.love/images/b4b79879daf486b96911d8dca38883f1.jpg) # 二、综合应用题 41.【答案要点】 (1) 给出算法的基本设计思想: (4 分) 算法的策略是从前向后扫描数组元素,标记出一个可能成为主元素的元素 Num。然后重新计数,确认 Num 是否是主元素。 算法可分为以下两步: (1) 选取候选的主元素: 依次扫描所给数组中的每个整数, 将第一个遇到的整数 Num 保存到 $c$ 中, 记录 Num 的出现次数为 1; 若遇到的下一个整数仍等于 Num, 则计数加 1, 否则计数减 1; 当计数减到 0 时, 将遇到的下一个整数保存到 $c$ 中, 计数重新记为 1, 开始新一轮计数, 即从当前位置开始重复上述过程, 直到扫描完全部数组元素。 (2) 判断 $c$ 中元素是否是真正的主元素: 再次扫描该数组, 统计 $c$ 中元素出现的次数, 若大于 $n / 2$ , 则为主元素; 否则, 序列中不存在主元素。 (2) 算法实现: (7 分) ```c int Majority ( int A[ ], int n ) { int i, c, count = 1; //c用来保存候选主元素,count用来计数 c = A[0]; //设置A[0]为候选主元素 for (i = 1; i < n; i++) //查找候选主元素 if (A[i] == c) count++; //对A中的候选主元素计数 else if (count > 0) //处理不是候选主元素的情况 count--; else //更换候选主元素,重新计数 { c = A[i]; } ``` ```c count = 1; } if (count > 0) for (i = count = 0; i < n; i++) // 统计候选主元素的实际出现次数 if (A[i] == c) count++; if (count > n/2) return c; // 确认候选主元素 else return -1; // 不存在主元素 } ``` 【(1)、(2)的评分说明】 (1) 若考生设计的算法满足题目的功能要求且正确, 则 (1)、(2) 根据所实现算法的效率给分, 细则见下表:
时间 复杂度空间 复杂度(1) 得分(2) 得分说明
O(n)O(1)47
O(n)O(n)46如采用计数排序思想,见表后Majority1程序
O(nlog2n)其他36如采用其他排序的思想
≥O(n2)其他35其他方法
int Majority1 ( int A[ ], int n) // 采用计数排序思想,时间:O(n), 空间:O(n) ```javascript { int k,\*p,max; $\mathrm{p} = (\mathrm{int}^{*})$ malloc(sizeof(int)\*n); //申请辅助计数数组 for $(\mathrm{k = 0};\mathrm{k < n};\mathrm{k + + })$ p[k]=0; //计数数组清0 max $= 0$ · for $(\mathrm{k = 0};\mathrm{k < n};\mathrm{k + + })$ {p[A[k] $] + +$ : //计数器 $+1$ if(p[A[k] $\rightharpoondown$ p[max])max=A[k]; //记录出现次数最多的元素 } if(p[ max $] > \mathrm{n / 2}$ )return max; else return -1; ``` (2) 若在算法的基本设计思想描述中因文字表达没有非常清晰反映出算法思路, 但在算法实现中能够清晰看出算法思想且正确的, 可参照 (1) 的标准给分。 (3) 若算法的基本设计思想描述或算法实现中部分正确, 可参照①中各种情况的相应给分标准酌情给分。 (4) 参考答案中只给出了使用 C 语言的版本, 使用 C++或 Java 语言的答案视同使用 C 语言。 (3) 说明算法复杂性: (2 分) 参考答案中实现的程序的时间复杂度为 $O(n)$ , 空间复杂度为 $O(1)$ 。 【评分说明】若考生所估计的时间复杂度与空间复杂度与考生所实现的算法一致,可各给1分。 42.【答案要点】 (1) 采用顺序存储结构, 数据元素按其查找概率降序排列。(2 分) 采用顺序查找方法。(1分) 查找成功时的平均查找长度 $= 0.35 \times 1 + 0.35 \times 2 + 0.15 \times 3 + 0.15 \times 4 = 2.1$ 。(2分)(2) 【答案一】 采用链式存储结构,数据元素按其查找概率降序排列,构成单链表。(2分) 采用顺序查找方法。(1分) 查找成功时的平均查找长度 $= 0.35 \times 1 + 0.35 \times 2 + 0.15 \times 3 + 0.15 \times 4 = 2.1$ 。(2分) 【答案二】 采用二叉链表存储结构,构造二叉排序树,元素存储方式见下图。(2分) ![](https://408.foreverlink.love/images/b905a6c8a44c65eb722d7972a8b45e7b.jpg) 二叉排序树1 ![](https://408.foreverlink.love/images/b990bead1f20a7aef78f6d70d6c16481.jpg) 二叉排序树2 或 采用二叉排序树的查找方法。(1分) 查找成功时的平均查找长度 $= 0.15 \times 1 + 0.35 \times 2 + 0.35 \times 2 + 0.15 \times 3 = 2.0$ 。(2分) 【(1)、(2)的评分说明】 (1) 若考生以实际元素表示“降序排列”,同样给分。 (2) 若考生正确求出与其查找方法对应的查找成功时的平均查找长度, 给 2 分; 若计算过程正确, 但结果错误, 给 1 分。 (3) 若考生给出其他更高效的查找方法且正确, 可参照评分标准给分。 43.【答案要点】 (1) CPU 的时钟周期为: $1 / 800 \mathrm{MHz} = 1.25 \mathrm{~ns}$ 。(1 分) 总线的时钟周期为: $1 / 200\mathrm{MHz} = 5$ ns。(1分) 总线带宽为: $4 \mathrm{~B} \times 200 \mathrm{MHz} = 800 \mathrm{MB} / \mathrm{s}$ 或 $4 \mathrm{~B} / 5 \mathrm{~ns} = 800 \mathrm{MB} / \mathrm{s}$ 。(1 分) (2) Cache 块大小是 $32 \mathrm{~B}$ , 因此 Cache 缺失时需要一个读突发传送总线事务读取一个主存块。(1 分) (3) 一次读突发传送总线事务包括一次地址传送和 $32 \mathrm{~B}$ 数据传送: 用 1 个总线时钟周期 传输地址;每隔 $40~\mathrm{ns} / 8 = 5~\mathrm{ns}$ 启动一个体工作(各进行1次存取),第一个体读数据花费 $40~\mathrm{ns}$ ,之后数据存取与数据传输重叠;用8个总线时钟周期传输数据。读突发传送总线事务时间: $5\mathrm{ns} + 40\mathrm{ns} + 8\times 5\mathrm{ns} = 85\mathrm{ns}$ 。(2分) (4) BP 的 CPU 执行时间包括 Cache 命中时的指令执行时间和 Cache 缺失时带来的额外开销。命中时的指令执行时间: $100 \times 4 \times 1.25 \mathrm{~ns} = 500 \mathrm{~ns}$ 。(1 分)指令执行过程中 Cache 缺失时的额外开销: $1.2 \times 100 \times 5\% \times 85 \mathrm{~ns} = 510 \mathrm{~ns}$ 。BP 的 CPU 执行时间: $500 \mathrm{~ns} + 510 \mathrm{~ns} = 1010 \mathrm{~ns}$ 。(2 分) # 【评分说明】 (1) 执行时间采用如下公式计算时, 可酌情给分。 执行时间=指令条数×CPI×时钟周期×命中率+访存次数×缺失率×缺失损失 (2) 计算公式正确但运算结果不正确时, 可酌情给分。 # 44.【答案要点】 (1) 因为指令长度为 16 位, 且下条指令地址为 (PC) +2 , 故编址单位是字节。(1 分) 偏移 OFFSET 为 8 位补码, 范围为-128~127, 故相对于当前条件转移指令, 向后最多可跳转 127 条指令。(2 分) 【评分说明】若正确给出OFFSET的取值范围,则酌情给分。 (2) 指令中 $C = 0, Z = 1, N = 1$ , 故应根据ZF和NF的值来判断是否转移。当 $\mathrm{CF} = 0, ZF = 0, NF = 1$ 时, 需转移。(1 分) 已知指令中偏移量为 $11100011B = E3H$ , 符号扩展后为 FFE3 H, 左移一位 (乘 2) 后为 FFC6 H, 故 PC 的值 (即转移目标地址) 为 $200CH + 2 + FFC6H = 1FD4H$ 。(2 分) 当 $\mathrm{CF} = 1, ZF = 0, NF = 0$ 时不转移。(1 分) PC 的值为: $200CH + 2 = 200EH$ 。(1 分) (3) 指令中的 C、Z 和 N 应分别设置为 $C = Z = 1$ , $N = 0$ 。(3 分) (4) 部件①: 指令寄存器 (用于存放当前指令); 部件②: 移位寄存器 (用于左移一位); 部件③: 加法器 (地址相加)。(3 分) 【评分说明】合理给出部件名称或功能说明均给分。 # 45.【答案要点】 定义两个信号量 Semaphore empty $= 500$ //博物馆可以容纳的最多人数(2分) Semaphore mutex = 1; //用于出入口资源的控制(2分) 参观者进程i; { ·· P (empty); P (mutex); 进门; V (mutex); 参观; P (mutex); ```txt 出门; V(mutex V(empty } coend(3分) ``` # 【评分说明】 (1) 信号量初值给 1 分, 说明含义给 1 分, 两个信号量的初值和含义共 4 分。 ② 对 mutex 的 P、V 操作正确给 2 分。 (3) 对 empty 的 P、V 操作正确给 1 分。 (4) 其他答案, 参照①~③的标准给分。 # 46.【答案要点】 (1) 因为页内偏移量是 12 位, 所以页大小为 $4 \mathrm{KB}$ , (1 分) 页表项数为 $2^{32} / 4 \mathrm{~K} = 2^{20}$ , 该一级页表最大为 $2^{20} \times 4 \mathrm{~B} = 4 \mathrm{MB}$ 。(2 分) (2)页目录号可表示为:((unsigned int)(LA))>>22)&0x3FF。(1分) 页表索引可表示为:((unsigned int)(LA))>>12)&0x3FF。(1分) # 【评分说明】 ① 页目录号也可以写成((unsigned int)(LA))>>22;如果两个表达式没有对LA进行类型转换,同样给分。 (2) 如果用除法和其他开销很大的运算方法, 但对基本原理是理解的, 同样给分。 ③ 参考答案给出的是 C 语言的描述,用其他语言(包括自然语言)正确地表述了,同样给分。 (3) 代码页面 1 的逻辑地址为 $00008000\mathrm{H}$ , 表明其位于第 8 个页处, 对应页表中的第 8 个页表项, 所以第 8 个页表项的物理地址 = 页表起始地址 $+8 \times$ 页表项的字节数 = 0020 $0000\mathrm{H} + 8 \times 4 = 00200020\mathrm{H}$ 。由此可得如下图所示的答案。(3 分) ![](https://408.foreverlink.love/images/3f2c66eae0233f6c6fe0fe0a4aac1883.jpg) 【评分说明】共5个答数。物理地址1和物理地址2共1分;页框号1和页框号2共1分;物理地址3给1分。 # 47.【答案要点】 (1)(6分)在AS1中,子网153.14.5.0/25和子网153.14.5.128/25可以聚合为子网153.14.5.0/24;在AS2中,子网194.17.20.0/25和子网194.17.21.0/24可以聚合为子网194.17.20.0/23,但缺少194.17.20.128/25;子网194.17.20.128/25单独连接到R2的接口E0。 于是可以得到 R2 的路由表如下:
目的网络下一跳接口
153.14.5.0/24153.14.3.2S0
194.17.20.0/23194.17.24.2S1
194.17.20.128/25E0
# 【评分说明】 ① 每正确解答 1 个路由项, 给 2 分, 共 6 分, 每条路由项正确解答目的网络 IP 地址但无前缀长度, 给 0.5 分, 正确解答前缀长度给 0.5 分, 正确解答下一跳 IP 地址给 0.5 分, 正确解答接口给 0.5 分。 (2) 路由项解答部分正确或路由项多于3条,可酌情给分。 (2) 该 IP 分组的目的 IP 地址 194.17.20.200 与路由表中 194.17.20.0/23 和 194.17.20.128/25 两个路由表项均匹配, 根据最长匹配原则, R2 将通过 E0 接口转发该 1P 分组。(1 分) (3) R1 与 R2 之间利用 BGP4(或 BGP)交换路由信息;(1 分)BGP4 的报文被封装到 TCP 协议段中进行传输。(1 分) # 【评分说明】 若考生解答为 EGP 协议,且正确解答 EGP 采用 IP 协议进行通信,亦给分。