2009 年全国硕士研究生入学统一考试
计算机科学与技术学科联考
计算机学科专业基础综合试题
一、单项选择题:第 1~ 40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个
选项最符合试题要求。
1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出
的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是 。
B.队列
A.栈
2.设栈 S 和队列 Q 的初始状态均为空,元素 a,b,c,d,e,f,g 依次进入栈
S。若每个元素出栈后立即进入队列 Q,且 7 个元素出队的顺序是 b,d,c,f,e,a,
g,则栈 S 的容量至少是 。
D.图
C.树
B.2
A.1
3.给定二叉树如图 A-1 所示。设 N 代表二叉树的根,L 代表根结点的左子树,
R 代表根结点的右子树。若遍历后的结点序列是 3,1,7,5,6,2,4,则其遍历方
式是
D.4
C.3
。
A.LRN
4.下列二叉排序树中,满足平衡二叉树定义的是
B.NRL
C.RLN
D.RNL
。
图 A-1
5.已知一棵完全二叉树的第 6 层(设根为第 1 层)有 8 个叶结点,则该完全二叉树的结点个数最多
A. B. C. D.
是 。
A.39
6.将森林转换为对应的二叉树,若在二叉树中,结点 u 是结点 v 的父结点的父结点,则在原来的森
D.119
C.111
B.52
林中,u 和 v 可能具有的关系是 。
B.Ⅰ和Ⅱ
C.Ⅰ和Ⅲ
Ⅱ.兄弟关系
D.Ⅰ、Ⅱ和Ⅲ
Ⅰ.父子关系
Ⅲ.u 的父结点与 v 的父结点是兄弟关系
A.只有Ⅱ
7.下列关于无向连通图特性的叙述中,正确的是 。
Ⅰ.所有顶点的度之和为偶数
Ⅱ.边数大于顶点个数减 1
Ⅲ.至少有一个顶点的度为 1
A.只有Ⅰ
C.Ⅰ和Ⅱ
8.下列叙述中,不.符合 m 阶 B 树定义要求的是
A.根结点最多有 m 棵子树
B.所有叶结点都在同一层上
C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接
9.已知关键字序列 5,8,12,19,28,20,15,22 是小根堆(最小堆),插入关键字 3,调整后得
D.Ⅰ和Ⅲ
B.只有Ⅱ
。
到的小根堆是 。
A.3,5,12,8,28,20,15,22,19
B.3,5,12,19,20,15,22,8,28
C.3,8,12,5,20,15,22,28,19
D.3,12,5,8,28,20,15,22,19
10.若数据元素序列 11,12,13,7,8,9,23,4,5 是采用下列排序方法之一得到的第二趟排序
后的结果,则该排序算法只能是 。
A.冒泡排序
11 . 冯 · 诺 依 曼 计 算 机 中 指 令 和 数 据 均 以 二 进 制 形 式 存 放 在 存 储 器 中 , CPU 区 分 它 们 的 依 据
D.二路归并排序
B.插入排序
C.选择排序
是 。
A.指令操作码的译码结果
C.指令周期的不同阶段
12.一个 C 语言程序在一台 32 位机器上运行。程序中定义了三个变量 x、y 和 z,其中 x 和 z 为 int
B.指令和数据的寻址方式
D.指令和数据所在的存储单元
型,y 为 short 型。当 x=127,y=-9 时,执行赋值语句 z=x+y 后,x、y 和 z 的值分别是 。
A.x=0000007FH,y=FFF9H,z=00000076H
B.x=0000007FH,y=FFF9H,z=FFFF0076H
C.x=0000007FH,y=FFF7H,z=FFFF0076H
D.x=0000007FH,y=FFF7H,z=00000076H
13.浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的
阶码和尾数均采用补码表示,且位数分别为 5 位和 7 位(均含 2 位符号位)。若有两个数 X=27×29/32,
Y=25×5/8,则用浮点加法计算 X+Y 的最终结果是
。
A.00111 1100010
C.01000 0010001
14.某计算机的 Cache 共有 16 块,采用 2 路组相联映射方式(即每组 2 块)。每个主存块大小为 32B,
B.00111 0100010
D.发生溢出
按字节编址。主存 129 号单元所在主存块应装入到的 Cache 组号是 。
B.1
A.0
15.某计算机主存容量为 64KB,其中 ROM 区为 4KB,其余为 RAM 区,按字节编址。现要用 2K×8
位的 ROM 芯片和 4K×4 位的 RAM 芯片来设计该存储器,则需要上述规格的 ROM 芯片数和 RAM 芯片
数分别是 。
C.4
D.6
A.1、15 B.2、15
16.某机器字长为 16 位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为
操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节 PC 自动加 1。若某转移指令所
在主存地址为 2000H,相对位移量字段的内容为 06H,则该转移指令成功转移后的目标地址是 。
C.1、30
D.2、30
C.2008H
D.2009H
A.2006H B.2007H
17.下列关于 RISC 的叙述中,错误的是
A.RISC 普遍采用微程序控制器
B.RISC 大多数指令在一个时钟周期内完成
C.RISC 的内部通用寄存器数量相对 CISC 多
D.RISC 的指令数、寻址方式和指令格式种类相对 CISC 少
18.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓
。
存时间)分别为 90ns、80ns、70ns、和 60ns,则该计算机的 CPU 时钟周期至少是 。
B.80ns
A.90ns
19.相对于微程序控制器,硬布线控制器的特点是 。
A.指令执行速度慢,指令功能的修改和扩展容易
B.指令执行速度慢,指令功能的修改和扩展难
C.指令执行速度快,指令功能的修改和扩展容易
C.70ns
D.60ns
D.指令执行速度快,指令功能的修改和扩展难
20.假设某系统总线在一个总线周期中并行传输 4B 信息,一个总线周期占用 2 个时钟周期,总线
时钟频率为 10MHz,则总线带宽是 。
A.10MB/s
21.假设某计算机的存储系统由 Cache 和主存组成,某程序执行过程中访存 1000 次,其中访问 Cache
B.20MB/s
C.40MB/s
D.80MB/s
缺失(未命中)50 次,则 Cache 的命中率是
。
C.50%
D.95%
B.9.5%
。
B.除数为 0
D.访存缺页
。
A.5%
22.下列选项中,能引起外部中断的事件是
A.键盘输入
C.浮点运算下溢
23.单处理机系统中,可并行的是
Ⅰ进程与进程
A.Ⅰ、Ⅱ和Ⅲ
C.Ⅰ、Ⅲ和Ⅳ
24.下列进程调度算法中,综合考虑进程等待时间和执行时间的是 。
A.时间片轮转调度算法
C.先来先服务调度算法
25.某计算机系统中有 8 台打印机,由 K 个进程竞争使用,每个进程最多需要 3 台打印机。该系统
B.短进程优先调度算法
D.高响应比优先调度算法
Ⅱ处理机与设备 Ⅲ处理机与通道 Ⅳ设备与设备
B.Ⅰ、Ⅱ和Ⅳ
D.Ⅱ、Ⅲ和Ⅳ
可能会发生死锁的 K 的最小值是 。
D.5
B.3
B.程序代码保护
。
C.数据保护
C.4
A.2
26.分区分配内存管理方式的主要保护措施是
A.界地址保护
27.一个分段存储管理系统中,地址长度为 32 位,其中段号占 8 位,则最大段长是
A.28B
28.下列文件物理结构中,适合随机访问且易于文件扩展的是
A.连续结构
C.链式结构且磁盘块定长
29.假设磁头当前位于第 105 道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为
B.索引结构
D.链式结构且磁盘块变长
D.栈保护
B.216B
C.224B
D.232B
。
。
35,45,12,68,110,180,170,195,采用 SCAN 调度(电梯调度)算法得到的磁道访问序列是 。
A.110,170,180,195,68,45,35,12
C.110,170,180,195,12,35,45,68
30.文件系统中,文件访问控制信息存储的合理位置是
A.文件控制块 B.文件分配表
31.设文件 F1 的当前引用计数值为 1,先建立 F1 的符号链接(软链接)文件 F2,再建立 F1 的硬
B.110,68,45,35,12,170,180,195
D.12,35,45,68,110,170,180,195
。
D.系统注册表
C.用户口令表
链接文件 F3,然后删除 F1。此时,F2 和 F3 的引用计数值分别是
。
D.2、1
C.1、2
B.1、1
A.0、1
32.程序员利用系统调用打开 I/O 设备时,通常使用的设备标识是 。
A.逻辑设备名
C.主设备号
33.在 OSI 参考模型中,自下而上第一个提供端到端服务的层次是 。
A.数据链路层
34.在无噪声情况下,若某通信链路的带宽为 3kHz,采用 4 个相位,每个相位具有 4 种振幅的 QAM
B.物理设备名
D.从设备号
D.应用层
B.传输层
C.会话层
调制技术,则该通信链路的最大数据传输速率是
。
C.48kbit/s
A.12kbit/s
B.24kbit/s
D.96kbit/s
35.数据链路层采用后退 N 帧(GBN)协议,发送方已经发送了编号为 0~7 的帧。当计时器超时
时,若发送方只收到 0、2、3 号帧的确认,则发送方需要重发的帧数是 。
C.4
B.3
A.2
36.以太网交换机进行转发决策时使用的 PDU 地址是
A.目的物理地址
C.源物理地址
37.在一个采用 CSMA/CD 协议的网络中,传输介质是一根完整的电缆,传输速率为 1Gbit/s,电缆
中的信号传播速度为 200 000km/s。若最小数据帧长度减少 800bit,则最远的两个站点之间的距离至少需
要
B.目的 IP 地址
D.源 IP 地址
D.5
。
。
A.增加 160m
C.减少 160m
38.主机甲与主机乙之间已建立一个 TCP 连接,主机甲向主机乙发送了两个连续的 TCP 段,分别
包含 300B 和 500B 的有效载荷,第一个段的序列号为 200,主机乙正确接收到两个段后,发送给主机甲
的确认序列号是 。
B.增加 80m
D.减少 80m
B.700
A.500
39.一个 TCP 连接总是以 1KB 的最大段长发送 TCP 段,发送方有足够多的数据要发送。当拥塞窗
口为 16KB 时发生了超时,如果接下来的 4 个 RTT(往返时间)时间内的 TCP 段的传输都是成功的,那
么当第 4 个 RTT 时间内发送的所有 TCP 段都得到肯定应答时,拥塞窗口大小是 。
D.1000
C.800
B.8KB
A.7KB
40.FTP 客户和服务器间传递 FTP 命令时,使用的连接是
A.建立在 TCP 之上的控制连接
C.建立在 UDP 之上的控制连接
C.9KB
B.建立在 TCP 之上的数据连接
D.建立在 UDP 之上的数据连接
D.16KB
。
二、综合应用题:第 41~ 47 题,共 70 分。
41.(10 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶
点到目标顶点之间的一条最短路径。假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的
方法:
① 设最短路径初始时仅包含初始顶点,令当前顶点 u 为初始顶点;
② 选择离 u 最近且尚未在最短路径中的一个顶点 v,加入到最短路径中,修改当前顶点 u=v;
③ 重复步骤②,直到 u 是目标顶点时为止。
请问上述方法能否求得最短路径?若该方法可行,请证明之;否则,请举例说明。
42.(15 分)已知一个带有表头结点的单链表,结点结构为:
data
link
假设该链表只给出了头指针 list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链
表中倒数第 k 个位置上的结点(k 为正整数)。若查找成功,算法输出该结点的 data 域的值,并返回 1;
否则,只返回 0。要求:
1)描述算法的基本设计思想。
2)描述算法的详细实现步骤。
3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用 C、C++或 Java 语言实现),关键
之处请给出简要注释。
43.(8 分)某计算机的 CPU 主频为 500MHz,CPI 为 5(即执行每条指令平均需 5 个时钟周期)。假
定某外设的数据传输率为 0.5MB/s,采用中断方式与主机进行数据传送,以 32 位为传输单位,对应的中
断服务程序包含 18 条指令,中断服务的其他开销相当于 2 条指令的执行时间。请回答下列问题,要求给
出计算过程。
1)在中断方式下,CPU 用于该外设 I/O 的时间占整个 CPU 时间的百分比是多少?
2)当该外设的数据传输率达到 5MB/s 时,改用 DMA 方式传送数据。假定每次 DMA 传送块大小为
5000B,且 DMA 预处理和后处理的总开销为 500 个时钟周期,则 CPU 用于该外设 I/O 的时间占整个 CPU
时间的百分比是多少?(假设 DMA 与 CPU 之间没有访存冲突)
44.(13 分)某计算机字长为 16 位,采用 16 位定长指令字结构,部分数据通路结构如图 A-2 所示,
图中所有控制信号为 1 时表示有效、为 0 时表示无效。例如,控制信号 MDRinE 为 1 表示允许数据从
DB 打入 MDR,MDRin 为 1 表示允许数据从内总线打入 MDR。假设 MAR 的输出一直处于使能状态。
加法指令“ADD (R1),R0”的功能为(R0)+((R1))→(R1),即将 R0 中的数据与 R1 的内容所指主存单元的
数据相加,并将结果送入 R1 的内容所指主存单元中保存。
表 A-1 给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描
述方式用表格..列出指令执行阶段
......每个节拍的功能和有效控制信号。
图 A-2
时钟
C1
C2
C3
C4
表 A-1
功能
MAR←(PC)
MDR←M(MDR)
PC←(PC)+1
IR←(MDR)
指令译码
有效控制信号
PCout, MARin
MemR, MDRinE, PC+1
MDRout, IRin
无
45.(7 分)三个进程 P1、P2、P3 互斥使用一个包含 N(N>0)个单元的缓冲区。P1 每次用 produce()
生成一个正整数并用 put()送入缓冲区某一空单元中;P2 每次用 getodd()从该缓冲区中取出一个奇数并用
countodd()统计奇数个数;P3 每次用 geteven()从该缓冲区中取出一个偶数并用 counteven()统计偶数个数。
请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。要求用伪代码描述。
46.(8 分)请求分页管理系统中,假设某进程的页表内容见表 A-2。
页号
0
1
2
表 A-2
页框(Page Frame)号
有效位(存在位)
101H
254H
1
0
1
页面大小为 4KB,一次内存的访问时间为 100ns,一次快表(TLB)的访问时间为 10ns,处理一次
缺页的平均时间为 108ns(已含更新 TLB 和页表的时间),进程的驻留集大小固定为 2,采用最近最少使
用置换算法(LRU)和局部淘汰策略。假设①TLB 初始为空;②地址转换时先访问 TLB,若 TLB 未命
中,再访问页表(忽略访问页表之后的 TLB 更新时间);③有效位为 0 表示页面不在内存,产生缺页中
断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列 2362H、1565H、
25A5H,请问:
1)依次访问上述三个虚地址,各需多少时间?给出计算过程。
2)基于上述访问序列,虚地址 1565H 的物理地址是多少?请说明理由。
47.(9 分)某网络拓扑如图 A-3 所示,路由器 R1 通过接口 E1、E2 分别连接局域网 1、局域网 2,
通过接口 L0 连接路由器 R2,并通过路由器 R2 连接域名服务器与互联网。R1 的 L0 接口的 IP 地址是
202.118.2.1,R2 的 L0 接口的 IP 地址是 202.118.2.2,L1 接口的 IP 地址是 130.11.120.1,E0 接口的 IP 地
址是 202.118.3.1,域名服务器的 IP 地址是 202.118.3.2。
R1 和 R2 的路由表结构为:
图 A-3
目的网络 IP 地址
子网掩码
下一跳 IP 地址
接口
1)将 IP 地址空间 202.118.1.0/24 划分为 2 个子网,分别分配给局域网 1、局域网 2,每个局域网需
分配的 IP 地址数不少于 120 个。请给出子网划分结果,说明理由或给出必要的计算过程。
2)请给出 R1 的路由表,使其明确包括到局域网 1 的路由、局域网 2 的路由、域名服务器的主机路
由和互联网的路由。
3)请采用路由聚合技术,给出 R2 到局域网 1 和局域网 2 的路由。
答案如下:
一、选择题
1
B
11
C
21
D
31
B
2
C
12
D
22
A
32
A
3
D
13
D
23
D
33
B
4
B
14
C
24
D
34
B
5
C
15
D
25
C
35
C
6
B
16
C
26
A
36
A
7
A
17
A
27
C
37
D
8
D
18
A
28
B
38
D
9
A
19
D
29
A
39
C
10
B
20
B
30
A
40
A
二、综合应用题
41.该方法求得的路径不一定是最短路径。例如,对于下图所示的带权图,如果 按照题中的原则,从 A 到
C 的最短路径为 A→B→C,事实上其最短路径为 A→D→C。
42.
(1)算法基本思想如下:从头至尾遍历单链表,并用指针 p 指向当前结点的前 k 个结点。当遍历到链表
的最后一个结点时,指针 p 所指向的结点即为所查 找的结点。
(2)详细实现步骤:增加两个指针变量和一个整型变量,从链表头向后遍 历,其中指针 p1 指向当前遍
历的结点,指针 p 指向 p1 所指向结点的前 k 个结点, 如果 p1 之前没有 k 个结点,那么 p 指向表头
结点。用整型变量 i 表示当前遍历 了多少个结点,当 i>k 时,指针 p 随着每次遍历,也向前移动一个
结点。当遍历 完成时,p 或者指向表头结点,或者指向链表中倒数第 k 个位置上的结点。
(3)算法描述:
int LocateElement(Linklist list,int k)
{
p1=list->link;
p=list; i=1;
while(p1)
{
p1=p1->link;
i++;
if(i>k) p=p->next; //如果 i>k,则 p 也往后移
}
if(p==list) return 0; //说明链表没有 k 个结点
else
{
printf(“%d\n“,p->data);
return 1;
}
}
43.
(1)在中断方式下,每 32 位(4B)被中断一次,故每秒中断
0.5MB/4B=0.5×106/4=12.5×104 次 要注意的是,这里是数据传输率,所以 1MB=106B。因为中
断服务程序包含 18 条指令,中断服务的其他开销相当于 2 条指令的执行时间,且执行每条指令平均 需
5 个时钟周期,所以,1 秒内用于中断的时钟周期数为
(18+2)×5×12.5×104=12.5×106
(2)在 DMA 方式下,每秒进行 DMA 操作
5MB/5000B=5×106/5000=1×103 次因为 DMA 预处理和后处理的总开销为 500 个时钟周期,所
以 1 秒钟之内用于 DMA 操作的时钟周期数为
500×1×103=5×105
故在 DMA 方式下,占整个 CPU 时间的百分比是
((5×105)/(500×106))×100%=0.1%
44.指令执行阶段每个节拍的功能和有效控制信号如下所示
时钟
C5
C6
C7
C8
C9
C10
功能
MAR←(R1)
MDR←M(MAR)
A←(R0)
AC←(MDR)+(A)
MDR←(AC)
M(MAR) ←MDR
有效控制信号
PCout,MARin
MemR,MDRinE
R0out,Ain
MDRout,Addr,ACin
ACout,MDRin
MDRoutE,MemW
45.定义信号量 S1 控制 P1 与 P2 之间的同步;S2 控制 P1 与 P3 之间的同步;empty 控制生产者与消
费者之间的同步;mutex 控制进程间互斥使用缓冲区。程序如下: Var s1=0,s2=0,empty=N,mutex=1;
Parbegin
P1:begin
X=produce(); /*生成一个数*/
P(empty); /*判断缓冲区是否有空单元*/
P(mutex); /*缓冲区是否被占用*/
Put();
If x%2==0
V(s2); /*如果是偶数,向 P3 发出信号*/
else
V(s1); /*如果是奇数,向 P2 发出信号*/
V(mutex); /*使用完缓冲区,释放*/
end.
P2:begin
P(s1); /*收到 P1 发来的信号,已产生一个奇数*/