础综合
(数据结构、操作系统)历年考研真题汇编附答案
最新资料,WORD格式,可编辑修改!
目 录
第一部分 沈阳师范大学教育技术学院862计算机学科专业基础综合(数据结构、操作系统)历年考研真题汇编 ...................................................................................
2014年沈阳师范大学教育技术学院867计算机学科专业基础综合(数据结构、操作系统)考研真题 . 2013年沈阳师范大学教育技术学院867计算机学科专业基础综合(数据结构、操作系统)考研真题 . 第二部分 全国硕士研究生入学统一考试408计算机学科专业基础综合历年真题及详解 ................
2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ......................... 2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ................... 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ......................... 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ................... 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ......................... 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ................... 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ......................... 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ................... 说明:沈阳师范大学2012年之前参加全国统考408计算机学科专业基础综合,2013年开始自主命题,科目改为867计算机学科专业基础综合(数据结构、操作系统),2015年科目代码改为862。为帮生全面复习,特提供2009~2012年408计算机学科专业基础综合真题及详解。
第一部分 沈阳师范大学教育技术学院862计算机学科专业基础综合(数据结构、操作系统)历年考研
真题汇编
2014年沈阳师范大学教育技术学院867计算机学科专业基础综合(数据结构、操作系统)考研真题 科目代码:867
科目名称:计算机学科专业基础综合(数据结构、操作系统) 适用专业名称:计算机应用技术
考生注意:请将答案写在答题纸上,写在本题签及草纸上无效。考试后本题签同答题纸一并交回。 一、单项选择题(共10题,每题2分,合计20分) 1.某算法的时间复杂度为O(n2),表明该算法()。
2
A.问题规模是n B.执行时间等于n2
C.执行时间与n2成正比 D.问题规模与n2成正比
2设线性表有n个元素,以下操作中,()在顺序表上实现比在链表上实现效率更高。 A.输出第i(1≤i≤n)个元素 B.交换第1个元素与第2个元素的值 C.顺序输出这n个元素的值
D.输出与给定值x相等的元素在线性表中的序号
3.给定一个空栈,若10、20、23、13依次进栈,然后有两个数出栈,又有3个数进栈,第一次进栈的23现在在()。
A.已出栈
B.从栈底算起第3个 C.栈顶
D.从栈底算起第4个
4.循环队列qu(其队头指针front指向队列中队头元素的前一个位置,队尾指针rear指向队尾元素的位置,队列中的单元个数为MaxSize)的队满足条件是()。
A.(qu.rear+1)%MaxSize==(qu.front+1)%MaxSize B.(qu.rear+1)%MaxSize==qu.front+1 C.(qu.rear+1)%MaxSize==qu.front D.qu.rear==qu.front
5.一棵二叉树的中序序列为ABDCEFG,后序序列为BDCAFGE,则其左子树中的节点个数为()。 A.3 B.2 C.4 D.5
6.根据使用频率为5个字符设计的哈夫曼编码不可能是()。 A.111,110,10,01,00 B.000,001,010,011,1
C.100,11,10,1,0 D.001,000,01,11,10
7.对所示的无向图,从顶点1开始进行深度优先遍历,可得到的顶点访问序列为()。 A.1243576 B.1243567 C.1245637 D.1234576
8.对于下图,以下()是其拓扑序列。
A.1,3,4,6,2,5,7 B.1,3,2,6,4,5,7 C.1,3,4,5,2,6,7 D.1,2,5,3,4,6,7
9.对数据序列{15,9,7,8,20,-1,4}进行排序,一趟排序后的结果为{9,15,7,8,20,-1,4},采用的是()。
A.简单选择排序 B.起泡排序 C.直接插入排序 D.堆排序
10.对一组数据(2,12,16,88,5,10)进行排序,若前三趟的结果如下: 第一趟:2,12,16,5,10,88 第二趟:2,12,5,10,16,88 第三趟:2,5,10,12,16,88 则采用的排序方法可能是()。 A.起泡排序 B.希尔排序 C.归并排序 D.基数排序
二、应用题(共4题,每题10分,合计40分)
11.使用普里姆算法构造如图所示的图G中从顶点1开始的一棵最小生成树。 12.设有一组关键字{19,1,23,14,55,20,84,27,68,11,10,77},其哈希函数如下: H(key)=key%13
采用开放地址法的线性探测法解决冲突,试在0~18的哈希表中对该关键字序列构造哈希表。
13.已知有6个顶点(顶点编号为0-5)的有向带权图G,其邻接矩阵A为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。 4 6 ∞ ∞ ∞ 5 ∞ ∞ ∞ 4 3 ∞ ∞ 3 3 要求: (1)写出图G的邻接矩阵A。 (2)画出有向带权图G。
(3)求图G的关键路径,并计算该关键路径的长度。 14.将整数序列{4,5,7,2,1,3,6}中的数依次插入到一棵空的平衡二叉树中,构造相应的平衡二叉树。 三、算法设计题(共3题,每题10分,合计30分)
15.设C={a1,b1, a2,b2,…,an,bn}为一线性表,采用带头节点的hc单链表存放,设计一个就地算法,将其拆分为两个线性表(它们都用单链表存放),使得:
A={ a1,,a2,…,an },B={b1, b2,…,bn }
16.假设二叉树采用二叉链存储结构存储,试设计一个算法,计算一棵给定二叉树的所有分支节点个数。
17.设计一个算法,判断一个数据序列是否构成一个小根堆。 四、简答题(共6题,每题5分,合计30分) 18.什么是操作系统的基本功能? 19.描述系统调用的含义。
20.说明什么是进程间的直接制约与间接制约。 21.说明什么是虚拟存储器。
22.请说明分区存储管理方式的主要优缺点。 23.说明什么是中断。
五、综合题(共2题,每题15分,合计30分)
24.若有以下四个作业以1、2、3、4的顺序,在0时刻几乎同时到达系统并立即进入调度: 作业名 所需CPU时间 作业1 9小时 作业2 2小时 作业3 10小时 作业4 5小时
假设系统中没有其他作业,试给出对它们实施FCFS调度算法的计算结果,并计算其平均周转时间和平均带权周转时间。
25.几个并行进程共享一个数据集(如文件或表格)时,有些进程可能只是要求读这数据集的内容,而另一些进程则可能要求修改这数据集的内容。这种情况在操作系统中是很普遍的。通常我们称读数据的进程为读者,而把要求修改数据的进程称为写者。用P、V操作来描述读者—写者问题。
2013年沈阳师范大学教育技术学院867计算机学科专业基础综合(数据结构、操作系统)考研真题 代码:868
科目名称:计算机学科专业基础综合 适用专业名称:计算机应用技术
考生注意:请将答案写在答题纸上,写在本题签及草纸上无效。考试后本题签同答题纸一并交回。 一、单项选择题(共30题,每题2分,合计60分)
1.某算法的时间复杂度为O(n2),表明该算法的( )。 A.问题规模是n2 B.执行时间等于n2
2
C.执行时间与n成正比 D.问题规模与n2成正比
2.设线性表中有2n个元素,以下操作中,( )在单链表上实现要比在顺序表上实现效率更高。 A.删除指定的元素 B.在最后一个元素的后面插入一个新元素 C.顺序输出前k个元素
D.交换第i个元素和第2n-i-1个元素的值(i=0,1…,n-1) 3.在一个单链表L中,指针p指向L的某个结点,在p之前插入一个指针s所指结点时的操作为( )。 A.s->next= p->next;p->next=s;t=p->data;p->data= s->data;s->data= t; B.p->next=s;s->next= p->next;t=p->data;p->data= s->data;s->data= t; C.s->next= p->next;p->next=s;p->data= s->data;t=p->data;s->data= t; D.p->next=s;s->next= p->next;t= s->data;s->data p->data;p->data= t; 4.已知一个栈的进栈序列是1,2,3,……,n,其输出序列是p1,p2,…,pn,若p1=n,则pi的值( )。 A.i B.n-i C.n-i+1 D.不确定
5.对稀疏矩阵进行压缩存储,常用的两种方法是( )。 A.二元组和散列表 B.三元组和十字链表
C.三角矩阵和对角矩阵 D.对角矩阵和十字链表
6.广义表((a),a)的表头和表尾分别是( )。 A.(a)和(a) B.a和(a) C.(a)和a D.((a))和(a)
7.已知二叉树的先序序列为ABDEGCF,中序序列为DBGEACF,则后序序列为( )。 A.GEDBFCA B.DGEBFCA C.DGEBAFC D.EBFDGCA
8.一棵完全二叉树上有1000个结点,其中叶子结点的个数是( )。 A.250 B.500 C.505 D.501
9.线索二叉树是一种( )结构。 A.逻辑 B.逻辑和存储 C.物理 D.线性
10.以数据集{2,5,7,9,13}为权值构造一棵哈夫曼树,则其带权路径长为( )。 A.78 B.80 C.81 D.79
11.一个有向图的邻接表存储如图1所示,现按深度优先搜索遍历,从顶点v1出发,所得到的顶点序列是( )。
v1 2 图1 图的邻接表3 4 ∧ A.v1,v2,v3,v4,v5 v2 B.v1,v2,v3,v5,v4 v3 5 ∧ 3 C.v1,v2,v4,v5,v3 v4 ∧ D.v1,v2,v5,v3,v4 v5 5 ∧ 12.任意一个无向连通图( )最小生成树。 A.只有一棵 B.一定有多棵
C.有一棵或多棵 4 ∧ D.可能不存在
13.若一个有向图中的顶点不能排成一个拓扑序列,则可断定该有向图( )。 A.是个有根有向图 B.是个强连通图
C.含有多个入度为0的顶点 D.含有顶点数目大于1的强连通分量
14.顺序查找法适合于存储结构为( )的线性表。 A.哈希存储 B.索引存储
C.压缩存储 D.顺序存储或链式存储
15.在含有27个结点的二叉树排序树上,查找关键字为35的结点,则依次比较的关键字有可能是( )。
A.28,36,18,46,35 B.18,36,28,46,35
C.46,28,18,36,35 D.46,36,18,28,35
16.在有序表a [1..20]中,采用二分查找算法查找元素值等于a[12]的元素,所比较过元素的次数为( )。
A.4 B.5
C.3 D.6
17.数据序列{8,9,10,4,5,6,20,1,2 }只能是下列排序算法中的( )的两趟排序后的结果。
A.选择排序 B.冒泡排序 C.插入排序 D.堆排序
18.就平均性能而言,目前最好的内部排序方法是( )排序法。 A.冒泡排序 B.希尔排序 C.插入排序 D.快速排序
19.有一组数据{15,9,7,8,20,-1,7,4},用堆排序的筛选方法建立的初始堆为(A.-1,4,5,9,20,7,15,7 B.-1,7,15,7,4,8,20,9
C.-1,4,7,8,20,15,7,9 D.A,B,C都不对
20.下面说法不正确的是( )。
A.关键活动不按期完成就会影响整个工程的完成时间 B.任何一个关键活动提前完成,将使整个工程提前完成 C.所有关键活动都提前完成,则整个工程提前完成 D.某些关键活动若提前完成,将使整个工程提前完成 21.下列选项中,( )不是操作系统关心的主要问题。 A.管理计算机裸机
B.设计、提供用户程序与计算机硬件系统的界面 C.管理计算机系统资源 D.高级程序设计语言的编译器 22.系统功能调用是( )。
A.用户编写的一个子程序 B.高级语言中的库程序
C.操作系统中的一条命令 D.操作系统向用户程序提供的接口
23.在处理机管理中,当( )时,进程从阻塞状态变为就绪状态。 A.进程被调度程序选中 B.等待某一事件发生
C.等待的事件发生 D.时间片用完
24.高级调度是( )。 A.进程调度
B.作业调度 C.程序调度 D.设备调度
25.临界区是( )。 A.一个缓冲区
B.一段共享数据区 C.一段程序 D.一个互斥资源
)。26.产生死锁的根本原因是( )。 A.资源共享
B.并发执行的进程太多 C.进程推进顺序非法 D.以上3个因素全是
27.在下述存储管理方案中,( )管理方式要求作业占用连续的存储空间。 A.分区
B.分页 C.分段 D.段页式
28.操作系统中对数据进行管理的部分叫做( )。 A.数据库系统
B.文件系统 C.检索系统 D.数据存储系统
29.下列文件中属于逻辑结构的文件是( )。 A.连续文件
B.系统文件 C.散列文件 D.流式文件
30.在磁盘文件系统中,对于下列文件物理结构,( )不具有直接读写文件任意一个记录的能力。
A.顺序结构
B.链接结构 C.索引结构 D.散列结构
二、算法设计题(共2题,每题10分,合计20分) 31.设C={a1,b1,a2,b2,…,an, bn }为一线性表,采用带头结点的hc单链表存放,设计一个就地算法,将其拆分为两个线性表,使得:A={ a1,a2,…, an},B={ b1, b2,…, bn}
32.冒泡排序的算法是把大的元素向上移动(气泡的上升)也可以把最小的元素向下移动(气泡的下沉)。请给出上浮和下沉过程交替的冒泡排序算法。
三、综合应用题(共6题,合计70分)
33.写出用Prim算法构造图2最小生成树的过程。(10分)
图2 无向网
34.关键字序列A=(36,27,68,33,97,40,81,24,23,90,32,14)共12个数据,哈希表长为13,采用的哈希函数为:h(key)=key %13。如果采用开放定址的线性探测再散列方法解决冲突,请构造哈希表并求其查找成功时的平均查找长度。(10分)
35.在如图3所示的AOE网,求:(10分)
(1)完成此工程最少需要的多少天(设边上权值为天数)。
(2)是否存在某项活动,当其提高速度后能使整个工程缩短工期。
图3 AOE网 a7=4 36.若有以下四个作业同时到达系统并立即进入调度: 6 2 4 a12=4 作业名 所需CPU时间(分钟) a1=5 作业1 9 作业2 4 a4=6 a6=3 7 10 a10=5 1 a8=1 a2=6 9 a13=2 3 5 8 a11=2 a9=4 a5=3 a3=3 作业3 10 作业4 8
假设系统中没有其他作业,现对它们实施SJF调度算法。
给出作业调度顺序并求出平均作业周转时间T ,平均带权作业周转时间W 。(15分)
37.在一个请求式页式管理系统中,某程序在内存中分配三个页面,初始为空.页面走向为:4,3,2,1,4,3,5,4,3,2,1,5。用学过的页面值换算法FIFO算出缺页次数。给出执行过程中内存页面的变化情况。(15分)
38.在4*100m接力赛中,4个运动员之间存在如下关系图4,运动员1跑到终点把接力棒交给运动员2,……,运动员4接到棒后跑完全程。试用信号量机制进行描述。试写出这四个并发进程能正确执行的程序。(10分)
图开始4进程关系图
P1 P2 P3 P4 结束 第二部分 全国硕士研究生入学统一考试408计算机学科专业基础综合历年真题及详解
2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题
一、单项选择题:l~40小题。每小题2分,共80分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
1.求整数n(n≥0)阶乘的算法如下,其时间复杂度是( )。 A.O(log2n) B.0(n)
C.O(nlog2n) D.O(n2)
2.已知操作符包括‘+’、‘-’、‘*’、‘/’、‘(’和‘)’。将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-*-g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
A.5 B.7 C.8 D.11
3.若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b,c,d,e,a,则根结点的孩子结点( )。
A.只有e B.有e、b C.有e、c D.无法确定
4.若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为1,则该平衡二叉树的结点总数为( )。
A.12 B.20 C.32 D.33 5.对有2个顶点e条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度是( )。 A.0(n) B.0(e) C.O(n+e) D.O(n×e)
6.若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结论是( )。
A.存在,且唯一
B.存在,且不唯一不唯一 C.存在,可能不唯一 D.无法确定是否存在
7.有向带权图如题7图所示,若采用迪杰斯特拉(Dijkstra)算法求从源点a到其他各顶点的最短路径,则得到的第一条最短路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是( )。
题7图有向带权图
A.d, e, f B.e,d,f C.f,d,e
D.f,e,d
8.下列关于最小生成树的叙述中,正确的是( )。
Ⅰ.最小生成树的代价唯一 Ⅱ.所有权值最小的边一定会出现在所有的最小生成树中 Ⅲ.使用普里姆(Prim)算法从不同顶点开始得到的最小生成树一定相同 Ⅳ.使用普里姆算法和克鲁斯卡尔(Kruskal)算法得到的最小生成树总不相同
A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅲ D.仅Ⅱ、Ⅳ
9.设有一棵3阶B树,如题9图所示。删除关键字78得到一棵新B树,其最右叶结点所含的关键字是( )。
题9图3二叉树图
A.60
B.60,62 C.62,65 D.65
10.排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是( )。
Ⅰ.简单选择排序 Ⅱ.希尔排序 Ⅲ.快速排序 Ⅳ.堆排 V.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ
11.对同一待排序列分别进行折半插入排序和直接插入排序,两者之间可能的不同之处是( )。 A.排序的总趟数 B.元素的移动次数
C.使用辅助空间的数量 D.元素之间的比较次数
12.假定基准程序A在某计算机上的运行时间为l00秒,其中90秒为CPU时间,其余为I/O时间。若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间是( )。
A.55秒 B.60秒 C.65秒 D.70秒 13.假定编译器规定int和short类型长度分别为32位和16位,执行下列C语言语句:unsigned short X=65530;unsigned int y=X:得到y的机器数为( )。
A.00007FFAH B.0000FFFAH C.FFFF7FFAH D.FFFFFFFAH
14.float类型(即IEEE754单精度浮点数格式)能表示的最大正整数是( )。 A.2126-2103
127104
B.2-2 C.2127-2103 D.2128-2104
15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下:
若record变量的首地址为0xC008,则地址0xC008中内容及record.c的地址分别为( )。 A.0x00、0xC00D B.0x00、0xCOOE C.0x11、0xC00D D.0x11、0xC00E
16.下列关于闪存(FlashMemory)的叙述中,错误的是( )。 A.信息可读可写,并且读、写速度一样快
B.存储元由MOS管组成,是一种半导体存储器 C.掉电后信息不丢失,是一种非易失性存储器 D.采用随机访问方式,可替代计算机外部存储器
17.假设某计算机按字编址,Cache有4个行,Cache和主存之间交换的块大小为l个字。若Cache的内容初始为空,采用2路组相联映射方式和LRU替换算法,当访问的主存地址依次为0,4,8,2,0,6,8,6,4,8时,命中Cache的次数是( )。
A.1 B.2 C.3 D.4
18.某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有( )。
A.5位 B.6位 C.15位 D.33位
19.某同步总线的时钟频率为l00MHz,宽度为32位,地址/数据线复用,每传输一个地址或数据占用一个时钟周期。若该总线支持突发(猝发)传输方式,则一次“主存写”总线事务传输l28位数据所需要的时间至少是( )。)。
A.20ns B.40ns C.50ns D.80ns
20.下列关于USB总线特性的描述中,错误的是( )。 A.可实现外设的即插即用和热插拔 B.可通过级联方式连接多台外设 C.是一种通信总线,可连接不同外设 D.同时可传输2位数据,数据传输率高
21.下列选项中,在I/O总线的数据线上传输的信息包括( )。 Ⅰ.I/O接口中的命令字 Ⅱ.I/0接口中的状态字 Ⅲ.中断类型号 A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ
22.响应外部中断的过程中,中断隐指令完成的操作,除保护断点外,还包括( )。 Ⅰ.开关中断 Ⅱ.保存通用寄存器的内容 Ⅲ.形成中断服务程序入口地址并送PC A.仅Ⅰ、Ⅱ
B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ
23.下列选项中,不可能在用户态发生的事件是( )。 A.系统调用 B.外部中断 C.进程切换 D.缺页
24.中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A.程序计数器
B.程序状态字寄存器 C.通用数据寄存器 D.通用地址寄存器
25.下列关于虚拟存储的叙述中,正确的是( )。 A.虚拟存储只能基于连续分配技术 B.虚拟存储只能基于非连续分配技术 C.虚拟存储容量只受外存容量的 D.虚拟存储容量只受内存容量的
26.操作系统的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是( )。
A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序 B.用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序 C.用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序 D.用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序
27.假设5个进程P0、Pl、P2、P3、P4共享三类资源Rl、R2、R3,这些资源总数分别为l8、6、22。T0时刻的资源分配情况如题27表所示,此时存在的一个安全序列是( )。
题27表资源分配情况表 已分配资源 资源最大需求 进程 R1 R2 R3 R1 R2 R3 PO 3 2 3 5 5 10 P1 4 O 3 5 3 6 P2 4 O 5 4 O 11 P3 2 O 4 4 2 5 P4 3 1 4 4 2 4 A.P0,P2,P4,Pl,P3 B.Pl,P0,P3,P4,P2 C.P2,Pl,P0,P3,P4 D.P3,P4,P2,Pl,P0P0
28.若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。
Ⅰ.若该文件的数据不在内存,则该进程进入睡眠等待状态;Ⅱ.请求read系统调用会导致CPU从用户态切换到核心态;Ⅲ.read系统调用的参数应包含文件的名称
A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ
D.Ⅰ、Ⅱ和Ⅲ
29.一个多道批处理系统中仅有Pl和P2两个作业,P2比Pl晚5ms到达。它们的计算和I/0操作顺序如下:P1:计算60ms,I/O 80ms,计算20ms;P2:计算120ms,I/O 40ms,计算40ms若不考虑调度和切换时间,则完成两个作业需要的时间最少是( )。
A.240ms B.260ms C.340ms D.360ms
30.若某单处理器多进程系统中有多个就绪态进程,则下列关于处理机调度的叙述中,错误的是( )。
A.在进程结束时能进行处理机调度 B.创建新进程后能进行处理机调度
C.在进程处于临界区时不能进行处理机调度
D.在系统调用完成并返回用户态时能进行处理机调度 31.下列关于进程和线程的叙述中,正确的是( )。 A.不管系统是否支持线程,进程都是资源分配的基本单位 B.线程是资源分配的基本单位,进程是调度的基本单位 C.系统级线程和用户级线程的切换都需要内核的支持 D.同一进程中的各个线程拥有各自不同的地址空间
32.下列选项中,不能改善磁盘设备I/O性能的是( )。 A.重排I/0请求次序
B.在一个磁盘上设置多个分区 C.预读和滞后写
D.优化文件物理块的分布
33.在TCP/IP体系结构中,直接为ICMP提供服务的协议是( )。 A.PPP B.IP C.UDP D.TCP
34.在物理层接口特性中,用于描述完成每种功能的事件发生顺序的是( )。 A.机械特性 B.功能特性 C.过程特性 D.电气特性
35.以太网的MAC协议提供的是( )。 A.无连接不可靠服务 B.无连接可靠服务 C.有连接不可靠服务 D.有连接可靠服务
36.两台主机之间的数据链路层采用后退N帧协议(GBN)传输数据,数据传输速率为l6kbps,单向传播时延为270ms,数据帧长度范围是128~512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为( )。
A.5 B.4 C.3 D.237
37.下列关于IP路由器功能的描述中,正确的是( )。
Ⅰ.运行路由协议,设置路由表;Ⅱ.监测到拥塞时,合理丢弃IP分组;Ⅲ.对收到的IP分组头进行差错校验,确保传输的IP分组不丢失;Ⅳ.根据收到的IP分组的目的IP地址,将其转发到合适的输出线路上。
A.仅Ⅲ、Ⅳ
B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅰ、Ⅱ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ
38.ARP协议的功能是( )。 A.根据IP地址查询MAC地址 B.根据MAC地址查询IP地址 C.根据域名查询IP地址 D.根据IP地址查询域名
39.某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是( )。
A.180.80.76.0 B.180.80.76.255 C.180.80.77.255 D.180.80.79.255
40.若用户l与用户2之间发送和接收电子邮件的过程如题40图所示,则图中①、②、③阶段分别使用的应用层协议可以是( )。
题40图电子邮件发送接收示意图
A.SMTP、SMTP、SMTP B.POP3、SMTP、POP3 C.POP3、SMTP、SMTP D.SMTP、SMTP、POP3
二、综合应用题:41\"--47小题。共70分。
41.(10分)设有6个有序表A、B、C、D、E、F,分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列。要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最小。请回答下列问题。
(1)给出完整的合并过程,并求出最坏情况下比较的总次数。
(2)根据你的合并过程,描述n(n≥2)个不等长升序表的合并策略,并说明理由。
42.(13分)假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间。例如,“loading”和“being”的存储映像如题42图所示。
题42图存储映像示意图
设strl和str2分别指向两个单词所在单链表的头结点,链表结点结构为[data,next],请设计一个时间上尽可能高效的算法,找出由strl和str2所指的两个链表共同后缀的起始位置(如图中字符i所在结点的位置p)。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度。
43.(11分)假定某计算机的CPU主频为80MHz,CPI为4,并且平均每条指令访存1.5次,主存与Cache之间交换的块大小为168,Cache的命中率为99%,存储器总线宽度为32位。请回答下列问题。
(1)该计算机的MIPS数是多少?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?
(2)假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁盘时DMA传送采用周期挪用方式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘I/O接口平均每秒发出的DMA请求次数至少是多少?
(3)CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么?
(4)为了提高性能,主存采用4体交叉存储模式,工作时每l/4个存储周期启动一个体。若每个体的存储周期为50ns,则该主存能提供的最大带宽是多少?
44.(12分)某16位计算机中,带符号整数用补码表示,数据Cache和指令Cache分离。题44表给出了指令系统中部分指令格式,其中Rs和Rd表示寄存器,mem表示存储单元地址,(X)表示寄存器X或存储单元X的内容。
表 指令系统中部分指令格式 名称 指令的汇编格式 指令功能 加法指令 ADD Rs,Rd (Rs)+(Rd)→Rd 算术/逻辑左移 SHLR d 2*(Rd)→Rd 算术右移 SHRR d (Rd)/2→Rd 取数指令 LOAD RD,mem (mem)→Rd 存数指令 STORE Rs,mem (Rs)→mem 该计算机采用5段流水方式执行指令,各流水段分别是取指(IF)、译码/读寄存器(ID)、执行/计算有效地址(EX)、访问存储器(M)和结果写回寄存器(WB),流水线采用“按序发射,按序完成”方式,没有采用转发技术处理数据相关,并且同一个寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题。
(1)若int型变量x的值为-513,存放在寄存器Rl中,则执行指令“SHR Rl”后,Rl的内容是多少?(用十六进制表示)
(2)若某个时间段中,有连续的4条指令进入流水线,在其执行过程中没有发生任何阻塞,则执行这4条指令所需的时钟周期数为多少?
(3)若高级语言程序中某赋值语句为x=a+b,x、a和b均为int型变量,它们的存储单元地址分别表示为[x]、[a]和[b]。该语句对应的指令序列及其在指令流水线中的执行过程如题44图所示。则这4条指令执行过程中,I3的ID段和I4的IF段被阻塞的原因各是什么?
(4)若高级语言程序中某赋值语句为x=2*x+a,x和a均为unsigned int类型变量,它们的存储单元地址分别表示为[x]、[a],则执行这条语句至少需要多少个时钟周期?要求模仿题44图画出这条语句对应的指令序列及其在流水线中的执行过程示意图。
45.(7分)某请求分页系统的局部页面置换策略如下:系统从0时刻开始扫描,每隔5个时间单位扫描一轮驻留集(扫描时间忽略不计),本轮没有被访问过的页框将被系统回收,并放入到空闲页框链尾,其中内容在下一次被分配之前不被清空。当发生缺页时,如果该页曾被使用过且还在空闲页框链表中,则重新放回进程的驻留集中;否则,从空闲页框链表头部取出一个页框。假设不考虑其他进程的影响和系统开销,初始时进程驻留集为空。目前系统空闲页框链表中页框号依次为32、15、21、41。进程P依次访问的<虚拟页号,访问时刻>是:<1,1>、<3,2>、<0,4>、<0,6>、<1,11>、<0,13>、<2,14>。请回答下列问题。
(1)访问<0,4>时,对应的页框号是什么?
(2)访问<1,11>时,对应的页框号是什么?说明理由。 (3)访问<2,14>时,对应的页框号是什么?说明理由。 (4)该策略是否适合于时间局部性好的程序?说明理由。
46.(8分)某文件系统空间的最大容量为4TB(1T=240),以磁盘块为基本分配单位,磁盘块大小为lKB。文件控制块(FCB)包含一个512B的索引表区。请回答下列问题。
(1)假设索引表区仅采用直接索引结构,索引表区存放文件占用的磁盘块号。索引表项中块号最少占多少字节?可支持的单个文件最大长度是多少字节?
(2)假设索引表区采用如下结构:第0~7字节采用<起始块号,块数>格式表示文件创建时预分配的连续存储空间,其中起始块号占6B,块数占2B;剩余504字节采用直接索引结构,一个索引项占6B,则可支持的单个文件最大长度是多少字节?为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理值并说明理由。
47.(9分)主机H通过快速以太网连接Internet,IP地址为192.168.0.8,服务器S的IP地址为211.68.71.80。H与S使用TCP通信时,在H上捕获的其中5个IP分组如题47-a表所示。
题47-a表 编号 IP分组的前40字节内容(十六进制) 019b4000 8006lde8 coa80008 d3444750 1 0bd91388 846b41c5 00000000 5db00000 00004000 31066e83 3d3444750 cOa80008 2 13880bd9 e0599fef 846b41c6 6701216d0 37e10000 019c4000 8006ldef cOa80008 d3444750 bd913888 3 46b41c6e 0599ff05 01043802 b320000 019d4000 80061dde cOa80008 d3444750 0bd91388 4 846b4lc6 e0599ff0 c6550000 3106067a d3444750 cOa80008 5 13880bd9 e0599ff0 846b41d6 501016d0 57d20000 请回答下列问题。 (1)题47-a表中的IP分组中,哪几个是由H发送的?哪几个完成了TCP连接建立过程?哪几个在通过快速以太网传输时进行了填充?
(2)根据题47-a表中的IP分组,分析S已经收到的应用层数据字节数是多少?
(3)若题47-a表中的某个IP分组在S发出时的前40字节如题47-b表所列,则该IP分组到达H时经过了多少个路由器?
题47-b表 来自S发出的分 4006eCad d3444750 ca760106 组 1388a108 e0599ff0 846b41d6 501016dO b7d60000 注:IP分组头和TCP段头结构分别如题47-a图、题47-b图所示: 版本 头度 服务类型(8-15) 标识 生存时(TTL) 标志 协议 总长度(16-31) 片偏移 头部校验和 源IP地址 目的IP地址 题47-a图IP分组头结构 源端口(0-15) 目的端口(16-31) 序号(seq) 确认号(ack) UAPRSF数据偏移 保留 RCSSYI窗口 G K H T N N 校验和 紧急指针 选项(长度可变) 填充 题47-b图TCP段头结构 2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解
一、单项选择题:l~40小题。每小题2分,共80分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
1.求整数n(n≥0)阶乘的算法如下,其时间复杂度是( )。 A.O(log2n) B.0(n)
C.O(nlog2n) D.O(n2) 【答案】B。
【解析】设fact(n)的运行时间函数是T(n)。
该函数中语句①的运行时间是0(1),语句②的运行时间是T(n-1)+O(1),其中O(1)为乘法运算的时间。
因此,当n≤1时,T(n)-0(1);当n>1时,T(n)=T(n-1)+O(1)。则,T(n)=O(1)+T(n-1)
=2×O(1)+T(n-2)=(n-1)×O(1)+T(1)=n× O(1) =O(n)
即fact(n)的时间复杂度为O(n)。
2.已知操作符包括‘+’、‘-’、‘*’、‘/’、‘(’和‘)’。将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-*-g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
A.5 B.7 C.8 D.11
【答案】A。
【解析】基本思想是:采用运算符栈是为了比较运算符的优先级,所有运算符必须进栈。只将大于栈顶元素优先级的运算符直接进栈,否则需要退栈栈顶运算符(先出栈的运算符先计算,同优先级的运算符在栈中的先计算)。表达式a+b-a*((c+d)/e-f)+g产生后缀表达式的过程如下表所列:
当前字符 运算符栈内容 后缀表达式 说明 a + + “+”进栈 b + ab - a * ( ( + d ) - - -* -*( -*(( -*(( -*((+ -*((+ -*( ab+ ab+a ab+a ab+a ab+a ab+ac ab+ac ab+acd ab+acd+ “-”与栈顶元素“+”的优先级相同,则“+”出栈,“-”进栈 “*”的优先级大于栈顶元素“-”,则“*”进栈 “(”对它之前后的运算符起隔离作用 “(”对它之前后的运算符起隔离作用 “+”进栈 与其配对的左括号及其前所有运算符出栈 / e - f ) + g -*(/ -*(/ -*(- -*(- -* - + + “-”的优先级小于栈顶元素“/”,ab+acd+e/ 则“/”出栈,“-”进栈 ab+acd+e/f 与其配对的左括号及其前所有运算符ab+acd+e/f- 出栈 “+”的优先级小于栈顶元素“*”,则ab+acd+e/f-* “*”出栈 “+”与栈顶元素“-”的优先级相同,ab+acd+e/f-*- 则“-”出栈,“+”进栈 ab+acd+ ab+acd+e “/”进栈 ab+acd+e/f-*-g ab+acd+e/ 全部出栈 f-*-g+ 通过上表可以看出,显然转换过程中同时保存在栈中的操作符的最大个数是5。 3.若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b,c,d,e,a,则根结点的孩子结点( )。
A.只有e B.有e、b C.有e、c D.无法确定 【答案】A。
【解析】由题目可知,若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b,c,d,e,a,其中a为这棵二叉树的根结点,接下来,在前序遍历的第二个结点为e,而后序遍历的倒数第二个结点为e,说明a的孩子结点只有e。
4.若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为1,则该平衡二叉树的结点总数为( )。
A.12 B.20 C.32 D.33
【答案】B。
【解析】本题题目的实际问题是,具有6层结点的平衡二叉树含有最少的结点数是多少。 Nh表示深度为h的平衡二叉树中含有的最少结点数,有N0=0,N1=1,N2=2……Nh=Nh-1+Nh-2+1
由此可得N5=20。对应的平衡二叉树如下图所示。 5.对有2个顶点e条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度是( )。 A.0(n) B.0(e) C.O(n+e) D.O(n×e) 【答案】C。
【解析】遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所采用的存储结构。当用二维数组表示邻接矩阵图的存储结构时,查找每个顶点的邻接点所需时间为O(n2),其中n为图中顶点数。而当以邻接表作图的存储结构时,找邻接点所需时间为0(e),其中e为无向图中
边的数或有向图中弧的数。由此,当以邻接表作存储结构时,深度优先搜索遍历图的时间复杂度为O(n+e)。即可得出正确答案。
6.若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结论是( )。
A.存在,且唯一
B.存在,且不唯一不唯一 C.存在,可能不唯一 D.无法确定是否存在 【答案】C。
【解析】图的基本应用——拓扑排序,用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,说明该图为有向无环图,所以其拓扑序列存在,但不一定唯一,如图的邻接矩阵为
,则存在两个拓
扑序列。
7.有向带权图如题7图所示,若采用迪杰斯特拉(Dijkstra)算法求从源点a到其他各顶点的最短路径,则得到的第一条最短路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是( )。
题7图有向带权图
A.d, e, f B.e,d,f C.f,d,e D.f,e,d 【答案】C。
【解析】本题主要考查Dijkstra算法的思想和解题步骤。题目执行算法过程中各步的状态如下表所示。
执行Dijkstra算法过程中各步的状态表,故后续目标顶点依次为f,d,e。 顶点 b c d e f 集合S 趟数 k=1 2 5 (a,b) (a,c) (a,b) {a,b,c} k=2 k=3 k=4 k=5 (a,b,c) (a,b,d) 4(a,b,c,(a,b,d) (a,b,c,e) {a,b,c,f} f) (a,b,d) (a,b,c,e) {a,b,c,f,d) {a, b,c,f,d,(a,b,d,e) e} 8.下列关于最小生成树的叙述中,正确的是( )。 Ⅰ.最小生成树的代价唯一 Ⅱ.所有权值最小的边一定会出现在所有的最小生成树中 Ⅲ.使用普里姆(Prim)算法从不同顶点开始得到的最小生成树一定相同 Ⅳ.使用普里姆算法和克鲁斯卡尔(Kruskal)算法得到的最小生成树总不相同
A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅲ D.仅Ⅱ、Ⅳ 【答案】A。
【解析】当图中存在相同权值的边时,其最小生成树可能是不唯一的,但最小生成树的代价一定是相同的,所以说法Ⅰ正确。从n个顶点的连通图中选取n-1条权值最小的边可能构成回路,所以说法Ⅱ错误。当某个顶点有权值相同的边,使用普里姆(Prim)算法从不同顶点开始得到的最小生成树并不一定相同,所以说法Ⅲ错误。当最小生成树不唯一时,使用普里姆算法和克鲁斯卡尔(Kruskal)算法得到的最小生成树可能相同,也可能不同,所以说法Ⅳ错误。由此可得出正确答案。
9.设有一棵3阶B树,如题9图所示。删除关键字78得到一棵新B树,其最右叶结点所含的关键字是( )。
题9图3二叉树图
A.60
B.60,62 C.62,65 D.65
【答案】D。
【解析】本题主要考查B树删除操作。即被删关键字所在的结点中的关键字个数等于[m/2]-1,而与该结点相邻的右兄弟(或左兄弟)结点中的关键字数目大于[m/2]-1,则需将其兄弟结点中最小(或最大)的关键字上移至双亲结点中,而将双亲结点中小于(或大于)且紧靠该上移关键字的关键字下移至被删关键字所在结点中。题目中删除关键字78得到一棵新B树如下,其最右叶结点所含的关键字是65。
10.排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是( )。
Ⅰ.简单选择排序 Ⅱ.希尔排序 Ⅲ.快速排序 Ⅳ.堆排 V.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ 【答案】A。
【解析】其中简单选择排序、堆排序属于选择类排序,每一趟排序结束时将确定最大(或最小)关键字所在的位置。快速排序每一趟排序结束时将确定基准关键字所在的位置。希尔排序、二路归并排序每一趟排序结束时不一定能确定一个元素的最终位置。
11.对同一待排序列分别进行折半插入排序和直接插入排序,两者之间可能的不同之处是( )。 A.排序的总趟数 B.元素的移动次数
C.使用辅助空间的数量 D.元素之间的比较次数 【答案】D。
【解析】折半插入排序所需附加存储空间和直接插入排序相同,从时间上比较,折半插入排序仅减少了关键字间的比较次数,而记录的移动次数不变。折半插入排序的时间复杂度仍为O(n2),所以两者之间的不同只可能是元素之间的比较次数。
12.假定基准程序A在某计算机上的运行时间为l00秒,其中90秒为CPU时间,其余为I/O时间。若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间是( )。
A.55秒 B.60秒 C.65秒 D.70秒 【答案】D。 【解析】CPU速度提高50%,即CPU性能提高比为l.5,改进之后的CPU运行时间=90÷1.5=60秒。I/O速度不变,仍维持l0秒,所以运行基准程序A所耗费的时间为70秒。
13.假定编译器规定int和short类型长度分别为32位和16位,执行下列C语言语句:unsigned short X=65530;unsigned int y=X:得到y的机器数为( )。
A.00007FFAH B.0000FFFAH C.FFFF7FFAH D.FFFFFFFAH 【答案】B。
【解析】X和y均为无符号数,其中X为16位,y为32位,将16位无符号数转化成32位无符号数,前面要补零。因为X=65530=FFFAH,所以y=0000FFFAH。
14.float类型(即IEEE754单精度浮点数格式)能表示的最大正整数是( )。 A.2126-2103 B.2127-2104 C.2127-2103 D.2128-2104 【答案】D。
【解析】IEEE754单精度浮点数尾数采用隐藏位策略的原码表示,且阶码用移码表示的浮点数。规格化的短浮点数的真值为:(-1)S×1.f×2(E-127),S为符号位,E的取值为1~254,f为23位;故float类型能表示的最大整数是1.111^1×2(254-127)=2127×(2-2-23)= 2128-2104。
15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下:
若record变量的首地址为0xC008,则地址0xC008中内容及record.c的地址分别为( )。 A.0x00、0xC00D B.0x00、0xCOOE C.0x11、0xC00D D.0x11、0xC00E 【答案】D。
【解析】32位整数a需要占4个字节,l6位整数c需要占2个字节,而字符数据b占一个字节。a=273,转换成十六进制是111H,采用小端方式存放数据,地址0xC008中的内容为11H。由于数据按边界对齐存储,地址0xC008~OxCOOB中存放a,地址0xC00C中存放b,地址0xC00D中空闲,地址0xC00E~0xC00F中存放c。
16.下列关于闪存(FlashMemory)的叙述中,错误的是( )。 A.信息可读可写,并且读、写速度一样快
B.存储元由MOS管组成,是一种半导体存储器 C.掉电后信息不丢失,是一种非易失性存储器 D.采用随机访问方式,可替代计算机外部存储器 【答案】A。
【解析】考查闪存的特性,闪存是EEPROM的进一步发展,可读可写,用MOS管的浮栅上有无电荷来存储信息,它依然是ROM的一种,故写速度比读速度要慢不少。闪存是一种非易失性存储器,它采用随机访问方式,现在常见的SSD固态硬盘就是由flash芯片组成的,故答案为A。
17.假设某计算机按字编址,Cache有4个行,Cache和主存之间交换的块大小为l个字。若Cache的内容初始为空,采用2路组相联映射方式和LRU替换算法,当访问的主存地址依次为0,4,8,2,0,6,8,6,4,8时,命中Cache的次数是( )。
A.1 B.2 C.3 D.4
【答案】C。
【解析】Cache有4个行,2路组相联,即Cache被分成2组,每组2行。主存地址为0~1、4~5、8~9可映射到第0组Cache中,主存地址为2~3、6~7可映射到第1组Cache中。Cache初始为空,采用LRU替换算法,当访问主存的10个地址依次为0,4,8,2,0,6,8,6,4,8时,命中Cache的次数共有3次,分别发生在第7、8和10步时。
18.某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有( )。
A.5位 B.6位 C.15位 D.33位 【答案】C。
【解析】33个微命令分成5个互斥类(即5个字段),根据每个类中微命令的多少可以分别确定字段的长度为3、2、4、3、3位,又因为采用直接编码方式,所以它们之和3+2+4+3+3=15也就是操作控制字段的位数。
19.某同步总线的时钟频率为l00MHz,宽度为32位,地址/数据线复用,每传输一个地址或数据占用一个时钟周期。若该总线支持突发(猝发)传输方式,则一次“主存写”总线事务传输l28位数据所需要的时间至少是( )。)。
A.20ns B.40ns C.50ns D.80ns 【答案】C。
【解析】总线的时钟频率为l00MHz,则时钟周期为10ns。数据是128位,总线宽度是32位,所以需要4个时钟周期,而传输地址还需要一个周期,所以传输一个128位的数据至少需要5个时钟周期,所以至少需要10ns*5=50ns。
20.下列关于USB总线特性的描述中,错误的是( )。 A.可实现外设的即插即用和热插拔 B.可通过级联方式连接多台外设 C.是一种通信总线,可连接不同外设 D.同时可传输2位数据,数据传输率高 【答案】D。
【解析】USB总线即通用串行总线,它的特点有:(1)即插即用;(2)热插拔;(3)有很强的链接能力能将所有外设链接起来,且不损失带宽;(4)有很好的可扩展性;(5)高速传输,速度可达480Mbps。所有A,B,C都符合USB总线的特点。对于选项D,USB是串行总线,不能同时传输两位数据,所以答案为D。
21.下列选项中,在I/O总线的数据线上传输的信息包括( )。 Ⅰ.I/O接口中的命令字 Ⅱ.I/0接口中的状态字 Ⅲ.中断类型号 A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ 【答案】D。
【解析】在I/O总线的数据线上传输的信息包括I/O接口中的命令字、状态字以及真正的数据,而中断类型号也是通过数据线传输的。
22.响应外部中断的过程中,中断隐指令完成的操作,除保护断点外,还包括( )。
Ⅰ.开关中断 Ⅱ.保存通用寄存器的内容 Ⅲ.形成中断服务程序入口地址并送PC A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ 【答案】B。
【解析】中断隐指令完成的操作有3个:①保存断点;②关中断;③引出中断服务程序(形成中断服务程序入口地址并送PC)。而保存通用寄存器内容的操作是由软件来实现,不是由中断隐指令实现的。
23.下列选项中,不可能在用户态发生的事件是( )。 A.系统调用 B.外部中断 C.进程切换 D.缺页 【答案】C。
【解析】我们在学习操作系统中知道,任何一个进程在现代操作系统中为了共享和保护,设定了用户态和内核态(可以通过设置软、硬件标志位来实现),在用户态运行用户的程序,在内核运行系统的程序。所以,从选项来看,系统调用可以在任何态发生,用户可以发起系统调用,系统也可以;外部中断是不可控的,也会在任何时刻发生,缺页的发生也是不可控的,可以发生在用户代码之间;而进程切换却不会在用户态发生。我们可以考虑一下情形,进程切换是在什么时候发生的,进程切换前必定运行的是进程调度,只有进程调度选择了下一次被调度的进程,进程切换才可以进行。进程调度是scheduler,进程切换是dispather,这体现了现代操作系统策略与机制分离的设计思想。所以,进程切换必定不会在用户态发生(所谓发生指其起始的源头时刻),必定是在内核态(进程调度)发生的。
24.中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A.程序计数器
B.程序状态字寄存器 C.通用数据寄存器 D.通用地址寄存器 【答案】B。
【解析】中断处理与子程序调用最大的区别是中断处理程序与正在运行的进程可能无关,而子程序调用与正在运行的进程有关。中断是要打断处理器的正常工作次序,并要求其去处理某一事件的一种常用手段。因此,除了要保护当前程序的地址,计数器(指针)和数据寄存器以外,还需要保存程序状态字。子程序调用是与当前进程有关,是正在运行的程序有意安排执行的,这一类调用发生的时间以及位置具有确定性,处于同一个进程内,因此不需要保存程序状态字。所以中断处理和子程序调用不同的区别是中断处理程序必定会保存程序状态字寄存器。
25.下列关于虚拟存储的叙述中,正确的是( )。 A.虚拟存储只能基于连续分配技术 B.虚拟存储只能基于非连续分配技术 C.虚拟存储容量只受外存容量的 D.虚拟存储容量只受内存容量的 【答案】D。
【解析】所谓虚拟存储,是指运行的进程不必全部装入内存,只需要部分装入便可以开始运行的一种技术,在运行过程中,当所需要的代码部分不在内存时,通过一种技术(例如缺页中断技术),将所需要的页面调入内存,从而继续运行。虚拟存储可以在较少的内存中运行较大的程序。但是需要有较大的外存以及相应的软、硬件机制配合才能实现。虚拟存储器可以连续分配也可以非连续分配,虚拟存储器和外存大小没有关系,所以选项中的A,B,C都是错误的,所以答案是D项。
26.操作系统的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是( )。
A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序 B.用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序 C.用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序 D.用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序 【答案】A。
【解析】对于一次设备的调用,操作系统为用户准备了系统调用的接口,当用户使用设备时,首先在用户程序中发起一次系统调用,操作系统的设备无关层软件接到该调用请求后调用处理程序进行处理,根据调用格式和形参,再转到相应的设备驱动程序去处理;大部分设备在运行时是需要时间的,所以设备驱动程序会以中断方式驱动设备,即设置好控制寄存器参数和中断向量等参数后阻塞自己;当设备准备好或所需数据到达后设备硬件发出中断,设备驱动程序唤醒,将数据按上述调用顺序逆向回传到用户程序中,或继续驱动设备执行下一条指令。因此,I/O软件从上到下分为四个层次:用户层、与设备无关的软件层、设备驱动程序以及中断处理程序。
27.假设5个进程P0、Pl、P2、P3、P4共享三类资源Rl、R2、R3,这些资源总数分别为l8、6、22。T0时刻的资源分配情况如题27表所示,此时存在的一个安全序列是( )。
题27表资源分配情况表 已分配资源 资源最大需求 进程 R1 R2 R3 R1 R2 R3 PO 3 2 3 5 5 10 P1 4 O 3 5 3 6 P2 4 O 5 4 O 11 P3 2 O 4 4 2 5 P4 3 1 4 4 2 4 A.P0,P2,P4,Pl,P3 B.Pl,P0,P3,P4,P2 C.P2,Pl,P0,P3,P4 D.P3,P4,P2,Pl,P0P0 【答案】D。
【解析】典型的死锁避免算法、银行家算法的应用。本题的题型与2011年的27题相似。银行家算法是操作系统中的一个重点知识单元,考生对此应该非常熟悉,本题并无难点。分析一下下表,可以看到,P3,P4,P2,Pl,P0运行是可以的。 已分配资源 尚需资源 可用资源 进程 R1 R2 R3 R1 R2 R3 R1 R2 R3 P3 2 O 4 2 2 1 2 3 3 P4 3 1 4 l l O 4 3 7 P2 4 O 5 O 0 6 7 4 11 P1 4 0 3 1 3 3 11 4 16 PO 3 2 3 2 3 7 15 4 19 本题也可以排除法,T0时刻可用资源是R1,R2,R3分别为2,3,3,此时刻,P0需要R1,R2,R3分别为2,3,7,故排除A,P1需要R1,R2,R3分别为1,3,3,P2还需要资源R1,R2,R3分别为0,0,6,故C 排除,P3需要R1,R2,R3分别为2,2,1。所以正确答案在B,D之间。看B选项,P1之后的可用资源R1,R2,R3分别变为6, 3,6,而P0尚需资源2,3,7,故B方案行不通。因而最终答案只有D项。
28.若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。
Ⅰ.若该文件的数据不在内存,则该进程进入睡眠等待状态;Ⅱ.请求read系统调用会导致CPU从用户态切换到核心态;Ⅲ.read系统调用的参数应包含文件的名称
A.仅Ⅰ、Ⅱ B.仅Ⅰ、Ⅲ C.仅Ⅱ、Ⅲ D.Ⅰ、Ⅱ和Ⅲ 【答案】A
【解析】对于Ⅰ,当所读文件的数据不再内存时,产生中断(缺页中断、缺段中断),原进程进入睡眠等待状态(阻塞状态),直到所需数据从外村调入内存后,将该进程唤醒,使其变为就绪状态。对于Ⅱ,read系统调用CPU将从用户态切换到核心态,从而获取操作系统提供的服务。对于Ⅲ,在操作系统中,要读一个文件首先要open系统调用将该文件打开。Open系统调用的参数需要包含文件的路径名与文件名,而read系统调用只需使用open返回的文件描述符,并不使用文件名作为参数。Read系统调用要求用户提供三个输入参数:①文件描述符;②buf缓冲区首址;③传送的字节数n。read系统调用的功能是试图从fd所指示的文件中读入n个字节的数据,并将它们送至由指针buf所指示的缓冲区中。
29.一个多道批处理系统中仅有Pl和P2两个作业,P2比Pl晚5ms到达。它们的计算和I/0操作顺序如下:P1:计算60ms,I/O 80ms,计算20ms;P2:计算120ms,I/O 40ms,计算40ms若不考虑调度和切换时间,则完成两个作业需要的时间最少是( )。
A.240ms B.260ms C.340ms D.360ms 【答案】B。
【解析】考查处理系统的性能计算,由于P2比P1晚5ms到达,P1先占用CPU,根据P1和P2的执行过程,作业运行的甘特图如下所示,故答案为B。
30.若某单处理器多进程系统中有多个就绪态进程,则下列关于处理机调度的叙述中,错误的是( )。
A.在进程结束时能进行处理机调度 B.创建新进程后能进行处理机调度
C.在进程处于临界区时不能进行处理机调度
D.在系统调用完成并返回用户态时能进行处理机调度 【答案】C。
【解析】对于A、B、D显然是可以进行处理机调度的,对于C,当进程处于临界区时,只要不破坏临界资源的使用规则,是不会影响处理机调度的,比如,通常访问临界资源可能是慢速的外设(如打印机),如果在进程访问打印机时,不能处理机调度,那么系统的性能将是非常低的。几种不进行处理机调度的情况如下:①在处理机中断的过程中;②进程在操作系统内核程序临界区中;③其他需要完全屏蔽中断的原子操作过程中。
31.下列关于进程和线程的叙述中,正确的是( )。 A.不管系统是否支持线程,进程都是资源分配的基本单位 B.线程是资源分配的基本单位,进程是调度的基本单位 C.系统级线程和用户级线程的切换都需要内核的支持 D.同一进程中的各个线程拥有各自不同的地址空间 【答案】A。
【解析】利用排除法来确定正确答案:“线程是资源分配的基本单位,进程是调度的基本单位”这句话说反了,明显错误。“系统级线程和用户级线程的切换都需要内核的支持”也不正确,因为用户级线程的切换由用户编写的RuntimeSystem执行的,内核并不感知。“同一进程中的各个线程拥有各自不
同的地址空间”明显错误,引入线程的目的就是为了同一进程的所有线程能共享进程的地址空间,故“不管系统是否支持线程,进程都是资源分配的基本单位”是正确的。
32.下列选项中,不能改善磁盘设备I/O性能的是( )。 A.重排I/0请求次序
B.在一个磁盘上设置多个分区 C.预读和滞后写
D.优化文件物理块的分布 【答案】B。
【解析】磁盘I/O性能主要是指其读写速度。相对而言,磁盘的I/O性能是计算机性能提高的一个瓶颈。“重排I/O请求次序”可以优化磁臂调度的算法,减少读写时间,故正确;“预读和滞后写”是利用内存作为磁盘的缓存,使得对磁盘的访问变为对内存的访问,也可以在总体上提高其性能;“优化文件物理块的分布”减少磁臂调度和旋转调度的等待时间,也可以提高磁盘I/O性能,而磁盘分区仅在磁盘空间的组织上进行划分,对磁盘I/O性能的提升没有什么帮助,是不能改善磁盘设备I/O性能的,故答案为B。
33.在TCP/IP体系结构中,直接为ICMP提供服务的协议是( )。 A.PPP B.IP C.UDP D.TCP
【答案】B。
【解析】首先明确ICMP是网络层的协议,由于服务必须是下一层向上一层提供服务的,因此选项C项中的UDP和选项D项中的TCP属于传输层,在网络层上面,所以显然错误,而PPP协议是广域网数据链路层协议,直接为网络层,也就是IP层提供服务,ICMP协议是封装在网络层,因此PPP不能直接为ICMP提供服务,ICMP报文直接封装在IP分组中,故答案是B。
34.在物理层接口特性中,用于描述完成每种功能的事件发生顺序的是( )。 A.机械特性 B.功能特性 C.过程特性 D.电气特性 【答案】C。
【解析】物理层的主要任务描述为确定与传输媒体接口的一些特性;机械特性:主要定义物理连接的边界点,即接插装置;电气特性:规定传输二进制位时,线路上信号的电压高低、阻抗匹配、传输速率和距离;功能特性:主要定义各条物理线路的功能;规程特性:主要定义各条物理线路的工作规程和时序关系。而从题干可以分析描述事件先后顺序的就是规程,也就是过程特性,答案是C。
35.以太网的MAC协议提供的是( )。 A.无连接不可靠服务 B.无连接可靠服务 C.有连接不可靠服务 D.有连接可靠服务 【答案】A。
【解析】考查以太网MAC协议,考虑到局域道质量好,以太网采取了两项重要的措施以使通信更简洁:①采用无连接的工作方式;②不对发送的数据帧进行编号,也不要求对方发回确认。因此,以太网提供的服务是不可靠的服务,即尽最大努力交付,差错的纠正由高层完成。
36.两台主机之间的数据链路层采用后退N帧协议(GBN)传输数据,数据传输速率为l6kbps,单向传播时延为270ms,数据帧长度范围是128~512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为( )。
A.5 B.4 C.3 D.237
【答案】B。 【解析】GBN的工作原理如下图所示,本题求解的是发送一个帧到接收到这个帧的确认期间最多可以发送多少数据帧,要尽可能多发送帧,应以短的数据帧计算,注意帧的单位是字节,因此首先计算出发送一帧的时间t1=128×8/16kbps=ms,故发送一帧到收到确认为止的总时间为;+270*2+=668ms,这段时间总共可以发送668/=10.4(帧),为了保证发送帧序号和确认帧序号在此期间不重复,因此帧序号的比特数至少为4,答案为B
37.下列关于IP路由器功能的描述中,正确的是( )。
Ⅰ.运行路由协议,设置路由表;Ⅱ.监测到拥塞时,合理丢弃IP分组;Ⅲ.对收到的IP分组头进行差错校验,确保传输的IP分组不丢失;Ⅳ.根据收到的IP分组的目的IP地址,将其转发到合适的输出线路上。
A.仅Ⅲ、Ⅳ
B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅰ、Ⅱ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ 【答案】C。
【解析】路由器的主要功能是路由和转发,因此Ⅰ和Ⅳ是正确的,而针对Ⅱ和Ⅲ,可以从ICMP协议的差错控制出发,注意检测到拥塞时,合理丢弃IP分组,并回传ICMP源抑制报文,Ⅱ是正确的,而Ⅲ对收到的IP分组头进行差错校验,确保传输的IP分组不丢失,差错校验是正确的,但网络层不保证IP分组不丢失,也就是不可靠的,因此Ⅲ的说法错误,正确的说法仅Ⅰ、Ⅱ、Ⅳ,因此答案是C。
38.ARP协议的功能是( )。 A.根据IP地址查询MAC地址 B.根据MAC地址查询IP地址 C.根据域名查询IP地址 D.根据IP地址查询域名 【答案】A。
【解析】ARP协议是网络层协议,因此只能和传输层和数据链路层有关系,从这一点出发,域名是应用层的范畴,选项C和D是不正确的,根据MAC地址查询IP地址是RARP协议的功能,因此进而得出正确答案是A。
39.某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是( )。
A.180.80.76.0 B.180.80.76.255 C.180.80.77.255 D.180.80.79.255 【答案】D。
【解析】.80.01001111.255,也就是l80.80.79.255,因此答案是D。
40.若用户l与用户2之间发送和接收电子邮件的过程如题40图所示,则图中①、②、③阶段分别使用的应用层协议可以是( )。
题40图电子邮件发送接收示意图
A.SMTP、SMTP、SMTP B.POP3、SMTP、POP3 C.POP3、SMTP、SMTP
D.SMTP、SMTP、POP3 【答案】D。
【解析】题中电子邮件的工作过程如下:
①用户l调用用户代理来编辑要发送的邮件,用户代理用SMTP将邮件传送给用户1的发送端邮件服务器。
②发送端邮件服务器也就是用户1的邮件服务器将邮件放入邮件缓存队列中,等待发送。
③运行在发送端邮件服务器的SMTP客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器也就是用户2的邮件服务器的SMTP服务器进程发起TCP连接建立。当TCP连接建立后,SMTP客户进程开始向远程的SMTP服务器发送邮件。当所有的待发邮件发完了,SMTP就关闭所建立的TCP连接。
④运行在接收端邮件服务器中的SMTP服务器进程收到邮件后,将邮件放人收信人的用户邮箱中,等待收信人在他方便时进行读取。收信人在打算收信时,调用用户代理,使用POP协议将自己的邮件从接收端邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)。
因此题中1,2,3阶段分别使用的应用层协议可以是SMTP,SMTP,POP3,因此答案是D。SMTP采用“推”的通信方式,用于用户代理向邮件服务器发送邮件、以及邮件服务器之间发送邮件。POP3采用“拉”的通信方式,用于用户从目的邮件服务器上读取邮件。
二、综合应用题:41\"--47小题。共70分。
41.(10分)设有6个有序表A、B、C、D、E、F,分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列。要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最小。请回答下列问题。
(1)给出完整的合并过程,并求出最坏情况下比较的总次数。
(2)根据你的合并过程,描述n(n≥2)个不等长升序表的合并策略,并说明理由。 解:
(1)6个表的合并顺序如下图所示。 对应于合并过程的哈夫曼树
根据上图中的哈夫曼树,6个序列的合并过程为:
第1次合并:表A与表B合并,生成含45个元素的表AB; 第2次合并:表AB与表C合并,生成含85个元素的表ABC; 第3次合并:表D与表E合并,生成含ll0个元素的表DE;
第4次合并:表ABC与表DE合并,生成含l95个元素的表ABCDE; 第5次合并:表ABCDE与表F合并,生成含395个元素的最终表。
由于合并两个长度分别为m和n的有序表,最坏情况下需要比较m+n-1次,故最坏情况下比较的总次数计算如下:
第1次合并:最多比较次数=10+35-1=44; 第2次合并:最多比较次数=45+40-l=84; 第3次合并:最多比较次数=50+60-1=109; 第4次合并:最多比较次数=85+110-1=194;
第5次合并:最多比较次数=195+200-1=394;比较的总次数最多为:44+84+109+194+394=825。 (2)各表的合并策略是:在对多个有序表进行两两合并时,若表长不同,则最坏情况下总的比较次数依赖于表的合并次序。可以借用哈夫曼树的构造思想,依次选择最短的两个表进行合并,可以获得最坏情况下最佳的合并效率。
解析:本题具有较强的综合性,主要考查了构造哈夫曼树的算法思想和过程、归并排序的过程等。 42.(13分)假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间。例如,“loading”和“being”的存储映像如题42图所示。
题42图存储映像示意图
设strl和str2分别指向两个单词所在单链表的头结点,链表结点结构为[data,next],请设计一个时间上尽可能高效的算法,找出由strl和str2所指的两个链表共同后缀的起始位置(如图中字符i所在结点的位置p)。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度。 解:
(1)算法的基本设计思想:
①分别求出strl和str2所指的两个链表的长度m和n;
②将两个链表以表尾对齐:令指针p、q分别指向strl和str2的头结点,若m> n,则使p指向链表中的第n+1个结点;若m (2)用C语言算法描述如下: (3)参的时间复杂度为:0(m+n)或O(max(m,n))。其中m、n分别为两个链表的长度。 43.(11分)假定某计算机的CPU主频为80MHz,CPI为4,并且平均每条指令访存1.5次,主存与Cache之间交换的块大小为168,Cache的命中率为99%,存储器总线宽度为32位。请回答下列问题。 (1)该计算机的MIPS数是多少?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求? (2)假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁盘时DMA传送采用周期挪用方式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘I/O接口平均每秒发出的DMA请求次数至少是多少? (3)CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么? (4)为了提高性能,主存采用4体交叉存储模式,工作时每l/4个存储周期启动一个体。若每个体的存储周期为50ns,则该主存能提供的最大带宽是多少? 解: (1)平均每秒CPU执行的指令数为:80M/4=20M,故MIPS数为20; 平均每秒Cache缺失的次数为:20M×1.5×(1-99%)=300000; 当Cache缺失时,CPU访问主存,主存与Cache之间以块为单位传送数据,此时,主存带宽为:16B×300000/s=4.8MB/s。在不考虑DMA传输的情况下,主存带宽至少达到4.8MB/s才能满足CPU的访存要求。 (2)平均每秒钟“缺页”异常次数为:300000×0.0005%=l.5次; 因为存储器总线宽度为32位,所以,每传送32位数据,磁盘控制器发出一次DMA请求,故平均每秒磁盘DMA请求的次数至少为:1.5×4KB/4B=1.5K=1536。 (3)CPU和DMA控制器同时要求使用存储器总线时,DMA请求优先级更高;因为若DMA请求得不到及时响应,I/O传输数据可能会丢失。 (4)4体交叉存储模式能提供的最大带宽为:4×4B/50ns=320MB/s。 44.(12分)某16位计算机中,带符号整数用补码表示,数据Cache和指令Cache分离。题44表给出了指令系统中部分指令格式,其中Rs和Rd表示寄存器,mem表示存储单元地址,(X)表示寄存器X或存储单元X的内容。 表 指令系统中部分指令格式 名称 指令的汇编格式 指令功能 加法指令 ADD Rs,Rd (Rs)+(Rd)→Rd 算术/逻辑左移 SHLR d 2*(Rd)→Rd 算术右移 SHRR d (Rd)/2→Rd 取数指令 LOAD RD,mem (mem)→Rd 存数指令 STORE Rs,mem (Rs)→mem 该计算机采用5段流水方式执行指令,各流水段分别是取指(IF)、译码/读寄存器(ID)、执行/计算有效地址(EX)、访问存储器(M)和结果写回寄存器(WB),流水线采用“按序发射,按序完成”方式,没有采用转发技术处理数据相关,并且同一个寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题。 (1)若int型变量x的值为-513,存放在寄存器Rl中,则执行指令“SHR Rl”后,Rl的内容是多少?(用十六进制表示) (2)若某个时间段中,有连续的4条指令进入流水线,在其执行过程中没有发生任何阻塞,则执行这4条指令所需的时钟周期数为多少? (3)若高级语言程序中某赋值语句为x=a+b,x、a和b均为int型变量,它们的存储单元地址分别表示为[x]、[a]和[b]。该语句对应的指令序列及其在指令流水线中的执行过程如题44图所示。则这4条指令执行过程中,I3的ID段和I4的IF段被阻塞的原因各是什么? (4)若高级语言程序中某赋值语句为x=2*x+a,x和a均为unsigned int类型变量,它们的存储单元地址分别表示为[x]、[a],则执行这条语句至少需要多少个时钟周期?要求模仿题44图画出这条语句对应的指令序列及其在流水线中的执行过程示意图。 解: (1)x的机器码为[x]补=1111 1101 1111B,即指令执行前(R1)=FDFFH,右移1wei后为1111 1110 1111 1111B,即指令执行后(R1)=FEFFH。 (2)至少需要5+(4-1)=8个时钟周期数。 (3) I3的ID段被阻塞的原因:因为I3与 I1和 I2都存在数据相关,需等到I1和 I2将结果写回寄存器后,I3才能读寄存器内容,所以l3的ID段被阻塞。 I4的IF段被阻塞的原因:因为I4的前一条指令I3在ID段被阻塞,所以I4的IF段被阻塞。 (4)x=2*x+a对应的指令序列为: I1 LOADRl, [x] I2 LOADR2, [a] I3 SHLRl R1 //或者ADD R1,R1 I4 ADD R1, R2 I5 STORER2, [x] 这5条指令在流水线中的执行过程如下图所示,执行x=2*x+a语句最少需要l7个时钟周期。 45.(7分)某请求分页系统的局部页面置换策略如下:系统从0时刻开始扫描,每隔5个时间单位扫描一轮驻留集(扫描时间忽略不计),本轮没有被访问过的页框将被系统回收,并放入到空闲页框链尾,其中内容在下一次被分配之前不被清空。当发生缺页时,如果该页曾被使用过且还在空闲页框链表中,则重新放回进程的驻留集中;否则,从空闲页框链表头部取出一个页框。假设不考虑其他进程的影响和系统开销,初始时进程驻留集为空。目前系统空闲页框链表中页框号依次为32、15、21、41。进程P依次访问的<虚拟页号,访问时刻>是:<1,1>、<3,2>、<0,4>、<0,6>、<1,11>、<0,13>、<2,14>。请回答下列问题。 (1)访问<0,4>时,对应的页框号是什么? (2)访问<1,11>时,对应的页框号是什么?说明理由。 (3)访问<2,14>时,对应的页框号是什么?说明理由。 (4)该策略是否适合于时间局部性好的程序?说明理由。 解: (1)页框号为21。因为起始驻留集为空,而0页对应的页框为空闲链表中的第三个空闲页框,其对应的页框号为21。 (2)页框号为32。理由:因11>10故发生第三轮扫描,页号为l、3的页框32、15在第二轮已处于空闲页框链表中,此刻l页又被重新访问,因此应被重新放回到驻留集中。其页框号为32。 (3)页框号为41。理由:因为第2页从来没有被访问过,它不在驻留集中,因此从空闲页框链表中取出链表头的页框41,页框号为41。 (4)适合。理由:如果程序的时间局部性越好,从空闲页框链表中重新取回的机会越大,该策略的优势越明显。 40 46.(8分)某文件系统空间的最大容量为4TB(1T=2),以磁盘块为基本分配单位,磁盘块大小为lKB。文件控制块(FCB)包含一个512B的索引表区。请回答下列问题。 (1)假设索引表区仅采用直接索引结构,索引表区存放文件占用的磁盘块号。索引表项中块号最少占多少字节?可支持的单个文件最大长度是多少字节? (2)假设索引表区采用如下结构:第0~7字节采用<起始块号,块数>格式表示文件创建时预分配的连续存储空间,其中起始块号占6B,块数占2B;剩余504字节采用直接索引结构,一个索引项占6B,则可支持的单个文件最大长度是多少字节?为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理值并说明理由。 解: (1)文件系统存储空间共有块数242/210=232。为表示232个块号,索引表项占32/8=4B,512B可771017 存放2个索引项,每个索引项对应一个磁盘块,故最大文件长度:2×2B=2B=128KB。 (2)块号占6字节,块数占2字节的情形下,最大文件长度:216×210+(504/6) ×210=MB+84KB=65620KB。 合理的起始块号和块数所占字节数分别为<4,4>(或<0,8>或<1,7>或<2,6>或<3,5>)。理由:块数占4B或以上,就可表示4TB大小的文件长度,达到文件系统的空间上限。 47.(9分)主机H通过快速以太网连接Internet,IP地址为192.168.0.8,服务器S的IP地址为211.68.71.80。H与S使用TCP通信时,在H上捕获的其中5个IP分组如题47-a表所示。 题47-a表 编号 IP分组的前40字节内容(十六进制) 019b4000 8006lde8 coa80008 d3444750 1 0bd91388 846b41c5 00000000 5db00000 00004000 31066e83 3d3444750 cOa80008 2 13880bd9 e0599fef 846b41c6 6701216d0 37e10000 019c4000 8006ldef cOa80008 d3444750 bd913888 3 46b41c6e 0599ff05 01043802 b320000 019d4000 80061dde cOa80008 d3444750 0bd91388 4 846b4lc6 e0599ff0 c6550000 3106067a d3444750 cOa80008 5 13880bd9 e0599ff0 846b41d6 501016d0 57d20000 请回答下列问题。 (1)题47-a表中的IP分组中,哪几个是由H发送的?哪几个完成了TCP连接建立过程?哪几个在通过快速以太网传输时进行了填充? (2)根据题47-a表中的IP分组,分析S已经收到的应用层数据字节数是多少? (3)若题47-a表中的某个IP分组在S发出时的前40字节如题47-b表所列,则该IP分组到达H时经过了多少个路由器? 题47-b表 来自S发出的分 4006eCad d3444750 ca760106 组 1388a108 e0599ff0 846b41d6 501016dO b7d60000 注:IP分组头和TCP段头结构分别如题47-a图、题47-b图所示: 版本 头度 服务类型(8-15) 标识 标志 总长度(16-31) 片偏移 生存时(TTL) 协议 头部校验和 源IP地址 目的IP地址 题47-a图IP分组头结构 源端口(0-15) 目的端口(16-31) 序号(seq) 确认号(ack) UAPRSF数据偏移 保留 RCSSYI窗口 G K H T N N 校验和 紧急指针 选项(长度可变) 填充 题47-b图TCP段头结构 解:(1)由于题47-a表中1、3、4号分组的源IP地址(第13~16字节)均为l92.168.0.8(coa80008H),所以1、3、4号分组是由H发送的。 题47-a表中1号分组封装的TCP段的FLAG为02H(即SYN=1,ACK=0),seq=846b 41c5H,2号分组封装的TCP段的FLAG为12H(即SY=1,ACK=1),seq=e059 9fefH,ack=846b 41c6H,3号分组封装的TCP段的FLAG为10H(即ACK=1),seq=846b 41c6H,ack=e059 9ff0H,所以1、2、3号分组完成了TCP连接建立过程。 由于快速以太网数据帧有效载荷的最小长度为46字节,表中3、5号分组的总长度为40(28H)字节,小于46字节,其余分组总长度均大于46字节,所以3、5号分组在通过快速以太网传输时进行了填充。 (2)由3号分组封装的TCP段可知,发送应用层数据初始序号为846b 41c6H,由5号分组封装的TCP段可知,ack为846b 41d6H,所以5号已经收到的应用层数据的字节数为846b 41d6H-846b 41c6H=10H=16B。 (3)由于S发出的IP分组的标识=6811H,所以该分组所对应的是题47-a表中的5号分组。S发出的IP分组的TTL=40H=,5号分组的TTL=31H=49,-49=15。所以,可以推断该IP分组到达H时经过了l5个路由器。 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 一、单项选择题:1~40小题。每小题2分。共80分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。 1.设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。 x=2: while(x 2.元素a,b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。 A.3 B.4 C.5 D.6 3.已知循环队列存储在一维数组A[0…n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是( )。 A.0,0 B.0,n-1 C.n-1,0 D.n-1,n-1 4.若一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是( )。 A.257 B.258 C.384 D.385 5.若一棵二叉树的前序遍历序列和后序遍历序列分别为l,2,3,4和4,3,2,1,则该二叉树的中序遍历序列不会是( )。 A.1,2,3,4 B.2,3,4,1 C.3,2,4,1 D.4,3,2,1 6.已知一棵有2011个结点的树,其叶结点个数为ll6,该树对应的二叉树中无右孩子的结点个数是( )。 A.115 B.116 C.15 D.16 7.对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是( )。 A.95,22,91,24,94,71 B.92,20,91,34,88,35 C.21,,77,29,36,38 D.12,25,71,68,33,34 8.下列关于图的叙述中,正确的是( )。 Ⅰ.回路是简单路径 Ⅱ.存储稀疏图,用邻接矩阵比邻接表更省空间 Ⅲ.若有向图中存在拓扑序列,则该图不存在回路 A.仅Ⅱ B.仅Ⅰ、Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅲ 9.为提高散列(Hash)表的查找效率,可以采用的正确措施是( )。 Ⅰ.增大装填(载)因子 Ⅱ.设计冲突(碰撞)少的散列函数 Ⅲ.处理冲突(碰撞)时避免产生聚集(堆积)现象 A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅱ D.仅Ⅱ、Ⅲ 10.为实现快速排序算法,待排序序列宜采用的存储方式是( )。 A.顺序存储 B.散列存储 C.链式存储 D.索引存储 11.已知序列25,13,10,12,9是大根堆,在序列尾部插入新元素18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是( )。 A.1 B.2 C.4 D.5 12.下列选项中,描述浮点数操作速度指标的是( )。 A.MIPS B.CPI C.IPC D.MFLOPS 13.float型数据通常用IEEE754单精度浮点数格式表示。若编译器将float型变量x分配在一个32位浮点寄存器FRl中,且x=-8.25,则FR1的内容是( )。 A.C1040000H B.C2420000H C.C1840000H D.C1C20000H 14.下列各类存储器中,不采用随机存取方式的是( )。 A.EPROM B.CDR0M C.DRAM D.SRAM 15.某计算机存储器按字节编址,主存地址空间大小为MB,现用4M×8位的RAM芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是( )。 A.22位 B.23位 C.25位 D.26位 16.偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是( )。 A.间接寻址 B.基址寻址 C.相对寻址 D.变址寻址 17.某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF和溢出标志OF,条件转移指令bgt(无符号整数比较大于时转移)的转移条件是( )。 A.CF+OF=0 B.SF+ZF=0 C.CF+ZF=0 D.CF+SF=0 18.下列给出的指令系统特点中,有利于实现指令流水线的是( )。 Ⅰ.指令格式规整且长度一致 Ⅱ.指令和数据按边界对齐存放 Ⅲ.只有Load/Store指令才能对操作数进行存储访问 A.仅Ⅰ、Ⅱ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ 19.假定不采用Cache和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是( )。. A.每个指令周期中CPU都至少访问内存一次 B.每个指令周期一定大于或等于一个CPU时钟周期 C.空操作指令的指令周期中任何寄存器的内容都不会被改变 D.当前程序在每条指令执行结束时都可能被外部中断打断 20.在系统总线的数据线上,不可能传输的是( )。 A.指令 B.操作数 C.握手(应答)信号 D.中断类型号型号 21.某计算机有五级中断L4~L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤i≤4)表示对Li级中断进行屏蔽。若中断响应优先级从高到低的顺序是L0→L1→L2→L3→L4,且要求中断处理优先级从高到低的顺序为L3→L0→L2→L1→L3,则L1的中断处理程序中设置的中断屏蔽字是( )。 A.11110 B.01101 C.00011 D.01010 22.某计算机处理器主频为50MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期数至少为500。在设备A工作期间,为保证数据不丢失,每秒需对其查询至少200次,则CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是( )。 A.0.02% B.0.05% C.0.20% D.0.50% 23.下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。 A.先来先服务 B.高响应比优先 C.时间片轮转 D.非抢占式短任务优先 24.下列选项中,在用户态执行的是( )。 A.命令解释程序 B.缺页处理程序 C.进程调度程序 D.时钟中断处理程序 25.在支持多线程的系统中,进程P创建的若干个线程不能共享的是( )。 A.进程P的代码段 B.进程P中打开的文件 C.进程P的全局变量 D.进程P中某线程的栈指针 26.用户程序发出磁盘I/O请求后,系统的正确处理流程是( )。 A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序 B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序 C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序 D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序 27.某时刻进程的资源使用情况如下表所示 已分配资源 尚需资源 可用资源 进程 R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 2 O O O O 1 P2 1 2 O 1 3 2 P3 O 1 1 1 3 l 0 2 1 P4 0 O 1 2 O O 此时的安全序列是( )。 A.P1,P2,P3,P4 B.P1,P3,P2,P4 C.P1,P4,P3,P2 D.不存在 28.在缺页处理过程中,操作系统执行的操作可能是( )。 Ⅰ.修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框 A.仅Ⅰ、Ⅱ B.仅Ⅱ C.仅Ⅲ D.Ⅰ、Ⅱ和Ⅲ 29.当系统发生抖动(thrashing)时,可以采取的有效措施是( )。 Ⅰ.撤销部分进程 Ⅱ.增加磁盘交换区的容量 Ⅲ.提高用户进程的优先级 A.仅Ⅰ B.仅Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅱ 30.在虚拟存储管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是( )。 A.编辑 B.编译 C.链接 D.装载 31.某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读人缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。在单缓冲区和双缓冲区结构下,读人并分析完该文件的时间分别是( )。 A.1500μs、1000μs B.1550μs、1100μs C.1550μs、1550μs D.2000μs、2000Μs 32.有两个并发执行的进程P1和P2,共享初值为l的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。 两个操作完成后,2的值( )。 A.可能为-1或3 B.只能为1 C.可能为0、1或2 D.可能为-1、0、1或2 33.TCP/IP参考模型的网络层提供的是( )。 A.无连接不可靠的数据报服务 B.无连接可靠的数据报服务 C.有连接不可靠的虚电路服务 D.有连接可靠的虚电路服务 34.若某通信链路的数据传输速率为2400bps,采用4相位调制,则该链路的波特率是( )。 A.600波特 B.1200波特 C.4800波特 D.9600波特 35.数据链路层采用选择重传协议(SR)传输数据,发送方已发送了0H3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是( )。 A.1 B.2 C.3 D.4 36.下列选项中,对正确接收到的数据帧进行确认的MAC协议是( )。 A.CSMA B.CDMA C.CSMA/CD D.CSMA/CA 37.某网络拓扑如下图所示,路由器Rl只有到达子网l92.168.1.0/24的路由。为使R1可以将IP分组正确地路由到图中所有子网,则在R1中需要增加一条路由(目的网络,子网掩码,下一跳)是( )。 A.192.168.2.0,255.255.255.128,192.168.1.1 B.192.168.2.0,255.255.255.0, 192.168.1.1 C.192.168.2.0,255.255.255.128,192.168.1.2 D.192.168.2.0,255.255.255.0, 192.168,1,2 38.在子网l92.168.4.0/30中,能接收目的地址为l92.168.4.3的IP分组的最大主机数是( )。 A.0 B.1 C.2 D.4 39.主机甲向主机乙发送一个(SYN一1,seq一11220)的TCP段,期望与主机乙建立TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的TCP段可能是( )。 A.(SYN=0,ACK=0,seq=11221,ack=11221) B.(SYN=1,ACK=1,seq=11220,ack=11220) C.(SYN=1,ACK=1,seq=11221,ack=11221) D.(SYN=0,ACK=0,seq=11220,ack=11220) 40.主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300字节、400字节和500字节的有效载荷,第3个段的序号为900。若主机乙仅正确接收到第1和第3个段,则主机乙发送给主机甲的确认序号是( )。 A.300 B.500 C.1200 D.1400 二、综合应用题:41~47小题,共70分。 41.(8分)已知有6个顶点(顶点编号为0--5)的有向带权图G,其邻接矩阵A为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。 46 ∞ ∞ ∞ 5 ∞ ∞ ∞ 4 3 ∞ ∞ 3 3 要求: (1)写出图G的邻接矩阵A。 (2)画出有向带权图G。 (3)求图G的关键路径,并计算该关键路径的长度。 42.(15分)一个长度为L(L≥1)的升序序列S,处在第「L/2」个位置的数为S的中位数。例如,若序列S1=(11,13,15,17,19),则Sl的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则Sl和S2的中位数是11。现有两个等长升序序列A和B,试设计一个时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度。 43.(11分)假定在一个8位字长的计算机中运行下列C程序段: 若编译器编译时将8个8位寄存器Rl~R8分别分配给变量x、y、m、n、z1、z2、k1和k2。请回答下列问题。(提示:带符号整数用补码表示) (1)执行上述程序段后,寄存器R1、R5和R6的内容分别是什么?(用十六进制表示) (2)执行上述程序段后,变量m和kl的值分别是多少?(用十进制表示) (3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。 (4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出? 44.(12分)某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB;Cache采用直接映射方式,共8行;主存与Cache之间交换的块大小为32B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题44-a图、题44-b所示,图中页框号及标记字段的内容为十六进制形式。 题44-a图页表的部分内容 题44-b图Cache的部分内容 请回答下列问题。 (1)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)? (2)使用物理地址访问Cache时,物理地址应划分哪几个字段?要求说明每个字段的位数及在物理地址中的位置。 (3)虚拟地址001C60H所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache命中?要求说明理由。 (4)假定为该机配置一个4路组相联的TLB,该TLB共可存放8个页表项,若其当前内容(十六进制)如题44-c图所示,则此时虚拟地址024BACH所在的页面是否在主存中?要求说明理由。 题44-c图TLB的部分内容 45.(8分)某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下: 请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。 46.(7分)某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。请回答如下问题。 (1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说明理由。为定位文件数据块。需要在FCB中设计哪些相关描述字段? (2)为快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?要求说明理由。 47.(9分)某主机的MAC地址为00-15-C5-Cl-5E-28,IP地址为10.2.128.100(私有地址)。题47-a图是网络拓扑,题47-b图是该主机进行Web请求的1个以太网数据帧前80个字节的十六进制及ASCII码内容。 题47-a图网络拓扑 题47-b图以太网数据帧(前80字节) 请参考图中的数据回答以下问题。 (1)Web服务器的IP地址是什么?该主机的默认网关的MAC地址是什么? (2)该主机在构造题47-b图的数据帧时,使用什么协议确定目的MAC地址?封装该协议请求报文的以太网帧的目的MAC地址是什么? (3)假设HTTP/1.1协议以持续的非流水线方式工作,以此请求一响应时间为RTT,rfc.html页面引用了5个JPEG小图像,则从发出题47-b图中的Web请求开始到浏览器收到全部内容为止,需要多少个RTT? (4)该帧所封装的IP分组经过路由器R转发时,需修改IP分组头中的哪些字段?注:以太网数据帧结构和IP分组头结构分别如题47-c图、题47-d图所示。 题47-c图以太网帧结构 题47-d图IP分组头结构 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 一、单项选择题:1~40小题。每小题2分。共80分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。 1.设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。 x=2: while(x 【解析】其中,以基本的原操作重复执行的次数作为算法的时间度量。题目中的基本运算是语句x=2×x,设其执行时间为T(n),则有2T(n) A.3 B.4 C.5 D.6 【答案】B 【解析】d首先出栈后的状态如下图所示。 此时可有以下4种操作: (1)e进栈后出栈,出栈序列为decba。 (2)c出栈,e进栈后出栈,出栈序列为dceba。 (3)cb出栈,e进栈后出栈,出栈序列为dcbea。 (4)cba出栈,e进栈后出栈,出栈序列为dcbae。 3.已知循环队列存储在一维数组A[0…n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是( )。 A.0,0 B.0,n-1 C.n-1,0 D.n-1,n-1 【答案】B 【解析】题目要求队列非空时front和rear分别指向队头元素和队尾元素,若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则此时front和rear的值都为0。由于进队操作要执行(rear+1)% n,则初始时front的值为0、rear的值为n-1。 4.若一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是( )。 A.257 B.258 C.384 D.385 【答案】C 【解析】由n=n0+n1+n2和n0=n2+1可知,n=2n0-1+n1,即2n0-1+n1=768,显然n1=1,2n0=768,则n0=384,所以二叉树的叶结点个数是384。还可以根据完全二叉树的另一个性质:最后一个分支结点的 序号为[768/2],故非叶子结点数为384,而叶子结点的个数为768-384=384。([x]表示不大于x的最大整数,比如[3.14]=3)。 5.若一棵二叉树的前序遍历序列和后序遍历序列分别为l,2,3,4和4,3,2,1,则该二叉树的中序遍历序列不会是( )。 A.1,2,3,4 B.2,3,4,1 C.3,2,4,1 D.4,3,2,1 【答案】C 【解析】题目中的二叉树的先序序列和后序序列正好相反,这样的二叉树每层只有一个结点。该二叉树的形态如下图所示。 从左至右,这8棵二叉树的中序序列分别为: (1)4,3,2,1, (2)3,4,2,1 (3)2,4,3,1 (4)2,3,4,1 (5)1,4,3,2 (6)1,3,4,2 (7)1,2,4,3 (8)1,2,3,4 显然选项C的中序序列不会出现。 6.已知一棵有2011个结点的树,其叶结点个数为ll6,该树对应的二叉树中无右孩子的结点个数是( )。 A.115 B.116 C.15 D.16 【答案】D 【解析】每个非终端结点转换成二叉树后都对应一个无右孩子的结点(因为一个非终端结点至少有一个孩子结点,其最右边的孩子结点转换成二叉树后一定没有右孩子),另外,树根结点转换成二叉树后也没有右孩子。题目中树的总结点数是2011,叶结点个数是116,则非终端结点个数是2011-116=15,则该树对应的二叉树中无右孩子的结点个数是15+1=16。 7.对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是( )。 A.95,22,91,24,94,71 B.92,20,91,34,88,35 C.21,,77,29,36,38 D.12,25,71,68,33,34 【答案】A 【解析】各选项对应的查找过程如下图所示,从中看到选项B、C、D对应的查找树都是二叉排序树,只有选项A对应的查找树不是一棵二叉排序树,因为在以91为根的左子树中出现了比91大的结点94。 8.下列关于图的叙述中,正确的是( )。 Ⅰ.回路是简单路径 Ⅱ.存储稀疏图,用邻接矩阵比邻接表更省空间 Ⅲ.若有向图中存在拓扑序列,则该图不存在回路 A.仅Ⅱ B.仅Ⅰ、Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅲ 【答案】C 【解析】第一个顶点和最后一个顶点相同的路径称为回路;序列中顶点不重复出现的路径称为简单路径;回路显然不是简单路径,所以选项Ⅰ错误。稀疏图用邻接表表示比邻接矩阵节省存储空间,稠密图适合用邻接矩阵的存储表示,所以选项Ⅱ错误。利用拓扑排序算法可以判断图中是否存在回路,即在拓扑排序输出结束后所余下的顶点都有前驱,则说明了只得到了部分顶点的拓扑有序序列,图中存在回路。所以选项Ⅲ正确。 9.为提高散列(Hash)表的查找效率,可以采用的正确措施是( )。 Ⅰ.增大装填(载)因子 Ⅱ.设计冲突(碰撞)少的散列函数 Ⅲ.处理冲突(碰撞)时避免产生聚集(堆积)现象 A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅱ D.仅Ⅱ、Ⅲ 【答案】D 【解析】散列表的查找效率(比较次数)取决于:散列函数、处理冲突的方法和散列表的装填因子α。α标志着散列表的装满程度,通常情况下,α越小,发生冲突的可能性越小;反之,α越大,表示已填入的记录越多,再填入记录时,发生冲突的可能性越大。因此选项Ⅰ错误,越是增大装填因子,发生冲突的可能性就越大,查找效率也越低。选项Ⅱ正确。选项Ⅲ正确。采用合适的处理冲突的方法避免产生聚集现象,也将提高查找效率。例如,用拉链法解决冲突时不存在聚集现象,用线性探测法解决冲突时易引起聚集现象。 10.为实现快速排序算法,待排序序列宜采用的存储方式是( )。 A.顺序存储 B.散列存储 C.链式存储 D.索引存储 【答案】A 【解析】对绝大部分内部排序而言,只适用于顺序存储结构,快速排序在排序过程中,既要从后向前查找,也要从前向后查找,因此宜采用顺序存储。 11.已知序列25,13,10,12,9是大根堆,在序列尾部插入新元素18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是( )。 A.1 B.2 C.4 D.5 【答案】B 【解析】对堆插入或删除一个元素,有可能不满足堆的性质,堆被破坏,需要调整为新堆。 (1)为原堆, (2)为插入18后, (3)比较10与18,交换后, (4)比较25与18,不交换,即为调整后的新的大根堆。 因此调整过程中元素之间进行的比较次数为2。 12.下列选项中,描述浮点数操作速度指标的是( )。 A.MIPS B.CPI C.IPC D.MFLOPS 【答案】D 【解析】MFLOPS(Million Floating-point Operations per Second)表示每秒执行多少百万次浮点运算,用来描述计算机的浮点运算速度,适用于衡量处理机的性能。 MIPS(Million Instructions per Second)表示每秒执行多少百万条指令。对于一个给定的程序,MIPS定义为 这里所说的指令一般是指加、减运算这类短指令。 CPI(Cycles per Instruction)就是每条指令执行所用的时钟周期数。由于不同指令的功能不同,造成指令执行时间不同,也即指令执行所用的时钟数不同,所以CPI是一个平均值。 IPC(Instructions per Cycle)每个时钟周期执行的指令数。 13.float型数据通常用IEEE754单精度浮点数格式表示。若编译器将float型变量x分配在一个32位浮点寄存器FRl中,且x=-8.25,则FR1的内容是( )。 A.C1040000H B.C2420000H C.C1840000H D.C1C20000H 【答案】A 【解析】首先将十进制数转换为二进制数-1000.01,接着把它写成规格化形式-1.00001×23(按IEEE754标准),然后计算阶码的移码=偏置值+阶码真值=127+3=130,最后短浮点数代码:数 14.下列各类存储器中,不采用随机存取方式的是( )。 A.EPROM B.CDR0M C.DRAM D.SRAM 【答案】B 【解析】随机存取方式是指存储器的任何一个存储单元的内容都可以存取,而且存取时间与存储单元的物理位置无关。CDROM是只读的光盘存储器,采用串行存取方式而不是随机存取方式。 15.某计算机存储器按字节编址,主存地址空间大小为MB,现用4M×8位的RAM芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是( )。 A.22位 B.23位 C.25位 D.26位 【答案】D 【解析】虽然实际的主存储器(RAM区)只有32MB,但不排除还有ROM区,考虑到存储器扩展的需要,MAR应保证能访问到整个主存地址空间。因为主存的地址空间大小为MB,所以MAR的位数至少需要26位。 16.偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是( )。 A.间接寻址 B.基址寻址 C.相对寻址 D.变址寻址 【答案】A 【解析】在四种不同的寻址方式中,间接寻址按指令的形式地址从主存中取出操作数的有效地址,然后再按此有效地址从主存中读出操作数。其余三种寻址方式可以统称为偏移寻址。 17.某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF和溢出标志OF,条件转移指令bgt(无符号整数比较大于时转移)的转移条件是( )。 A.CF+OF=0 B.SF+ZF=0 C.CF+ZF=0 D.CF+SF=0 【答案】C 【解析】判断无符号整数A>B成立,满足的条件是结果不等于0,即零标志ZF=0,且不发生进位,即进位/借位标志CF=0。所以正确选项为C。其余选项中用到了符号标志SF和溢出标志OF,显然可以排除掉。 18.下列给出的指令系统特点中,有利于实现指令流水线的是( )。 Ⅰ.指令格式规整且长度一致 Ⅱ.指令和数据按边界对齐存放 Ⅲ.只有Load/Store指令才能对操作数进行存储访问 A.仅Ⅰ、Ⅱ B.仅Ⅱ、Ⅲ C.仅Ⅰ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ 【答案】D 【解析】特点Ⅰ和Ⅲ都是RISC机的特征,而特点Ⅱ则有利于指令和数据的存放,所以以上三个特点都有利于实现指令流水线。 19.假定不采用Cache和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是( )。. A.每个指令周期中CPU都至少访问内存一次 B.每个指令周期一定大于或等于一个CPU时钟周期 C.空操作指令的指令周期中任何寄存器的内容都不会被改变 D.当前程序在每条指令执行结束时都可能被外部中断打断 【答案】C 【解析】本题涉及的概念比较多。首先,如果不采用Cache和指令预取技术,每个指令周期中至少要访问内存一次,即从内存中取指令。其次,指令有的简单有的复杂,每个指令周期总大于或等于一个CPU时钟周期。第三,即使是空操作指令,在指令周期中程序计数器PC的内容也会改变(PC值加“1”),为取下一条指令做准备。第四,如果机器处于“开中断”状态,在每条指令执行结束时都可能被新的更高级的中断请求所打断。所以应选择选项C。 20.在系统总线的数据线上,不可能传输的是( )。 A.指令 B.操作数 C.握手(应答)信号 D.中断类型号型号 【答案】C 【解析】握手(应答)信号属于通信联络控制信号应该在通信总线上传输,不可能在数据总线上传输。而指令、操作数和中断类型码都可以在数据线上传输。 21.某计算机有五级中断L4~L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤i≤4)表示对Li级中断进行屏蔽。若中断响应优先级从高到低的顺序是L0→L1→L2→L3→L4,且要求中断处理优先级从高到低的顺序为L3→L0→L2→L1→L3,则L1的中断处理程序中设置的中断屏蔽字是( )。 A.11110 B.01101 C.00011 D.01010 【答案】D 【解析】由于L2的中断处理优先级下降,屏蔽字中需要3个0,所以可以将选项A、B排除掉。L1需要对L4、L0、L2开放,所以相应位应该为“0”,即为01010。 22.某计算机处理器主频为50MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期数至少为500。在设备A工作期间,为保证数据不丢失,每秒需对其查询至少200次,则CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是( )。 A.0.02% B.0.05% C.0.20% D.0.50% 【答案】C 【解析】对于设备A,每秒中查询至少200次,每次查询至少500个时钟周期,总的时钟周期数为100000,又因为处理器主频为50MHz。所以CPU用于设备A的I/O的时间占整个CPU时间的百分比至少为100000/50=0.20%。 23.下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。 A.先来先服务 B.高响应比优先 C.时间片轮转 D.非抢占式短任务优先 【答案】B 【解析】分析该题目可以看到,本题所提到的问题是涉及短任务调度也就是属于作业调度,因此首先排除时间片轮转算法;因为作业调度算法中没有时间片轮转的算法。其次,因为问题提到短任务,则先来先服务的算法也可以排除了,它与短任务无关。剩余高响应比优先算法和非抢占式短任务优先是哪一个?我们可以通过分析得到,非抢占式短任务优先算法不能解决饥饿问题,因为当一个系统短任务源源不断到达是,长任务必然会得不到调度,产生饥饿。而解决此方法的最好方式就是采用计算响应比的方法,并以高响应比值优先调度。这样,无论短任务或长任务,均可以得到调度,而且,较短任务会得到优先的调度。故满足短任务优先且不会发生饥饿现象的调度算法只有高响应比优先算法。 24.下列选项中,在用户态执行的是( )。 A.命令解释程序 B.缺页处理程序 C.进程调度程序 D.时钟中断处理程序 【答案】A 【解析】题目是问用户态执行,可见是有关操作系统基本概念的问题。四个选项中,用户唯一能面对的是命令解释程序,缺页处理程序和时钟中断都属于中断,在核心态执行,而进城调度属于系统调用在核心态执行。只有命令解释程序属于命令接口,可以运行在用户态,接受用户的命令操作控制。 25.在支持多线程的系统中,进程P创建的若干个线程不能共享的是( )。 A.进程P的代码段 B.进程P中打开的文件 C.进程P的全局变量 D.进程P中某线程的栈指针 【答案】D 【解析】现代操作系统中,进程是资源分配的基本单位,线程是处理机调度的基本单位。因此,进程是线程运行的容器,本题中,进程的代码段,进程打开的文件,进程的全局变量等都是进程的资源,唯有进程中某线程的栈指针是属于线程的,那么,属于进程的资源可以共享,属于线程的栈是独享的,不能共享。 26.用户程序发出磁盘I/O请求后,系统的正确处理流程是( )。 A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序 B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序 C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序 D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序 【答案】B 【解析】对于一次设备的调用,操作系统为用户准备了系统调用的接口,当用户使用设备时,首先在用户程序中发起一次系统调用,操作系统的内核接到该调用请求后调用处理程序进行处理,根据调用格式和形参,再转到相应的设备驱动程序去处理;大部分设备在运行时是需要时间的,所以设备驱动程序会以中断方式驱动设备,即设置好控制寄存器参数和中断向量等参数后阻塞自己;当设备准备好或所需数据到达后设备硬件发出中断,设备驱动程序唤醒,将数据按上述调用顺序逆向回传到用户程序中,或继续驱动设备执行下一条指令。因此,正确的顺序应该是用户到系统调用到驱动到中断处理。中断处理处于最底层。 27.某时刻进程的资源使用情况如下表所示 已分配资源 尚需资源 可用资源 进程 R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 2 O O O O 1 P2 1 2 O 1 3 2 P3 O 1 1 1 3 l 0 2 1 P4 0 O 1 2 O O 此时的安全序列是( )。 A.P1,P2,P3,P4 B.P1,P3,P2,P4 C.P1,P4,P3,P2 D.不存在 【答案】D 【解析】典型的死锁避免算法,银行家算法的应用。银行家算法是操作系统中的一个重点知识单元,考生对此应该非常熟悉,本题并无难点。分析一下下表,可以看到,经过P1,P4的运行以后,可用资源是2,2,1,而P2,P3所需资源分别是1,3,2和1,3,1。所以剩余资源已经不够P2或P3的分配,亦即找不到能够安全运行的序列,因此此时是处于不安全状态,所以不存在这样的安全序列。 已分配资源 尚需资源 可用资源 进程 R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 2 0 O O 0 l O 2 1 P2 1 2 O 1 3 2 2 2 2 P3 O 1 1 1 3 1 2 2 2 P4 0 0 1 2 0 O 2 2 1 28.在缺页处理过程中,操作系统执行的操作可能是( )。 Ⅰ.修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框 A.仅Ⅰ、Ⅱ B.仅Ⅱ C.仅Ⅲ D.Ⅰ、Ⅱ和Ⅲ 【答案】D 【解析】首先我们要考虑的是,为什么会发生缺页中断?当然,在一个采用虚拟存储管理技术的系统中,程序是部分装入的,还有部分是处于外存上的,因此,当需要访问那部分位于外存上的代码或数据时,系统会产生缺页中断。产生缺页中断的目的是要将位于外存上的代码或数据装入内存,据此,缺页中断接下去所做的工作就是首先要在内存中找到空闲页框并分配给需要访问的页(若没有空闲的页面则要调用页面置换程序找到一处页面,将该页面的内容处理掉,或回写磁盘,或覆盖掉,然后将此页分配给需要访问的页),分配妥当以后,缺页中断处理程序调用设备驱动程序做磁盘I/O,将位于外存(一般是磁盘)上的页面调入内存,调入后转身去修改页表,将页表中代表该页是否在内存的标志位(一般称为存在位或有效位、在位位)修改为“真”,将物理页框号填入相应位置,若必要还需修改其它相关表项等。完成上述任务后,缺页中断处理程序返回,继续程序的执行。从上述过程可以看出,涉及的相关处理非常多,因此,答案就显而易见了。 29.当系统发生抖动(thrashing)时,可以采取的有效措施是( )。 Ⅰ.撤销部分进程 Ⅱ.增加磁盘交换区的容量 Ⅲ.提高用户进程的优先级 A.仅Ⅰ B.仅Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅱ 【答案】A 【解析】“抖动”现象是指刚刚被换出的页很快又要被访问,为此,又要换出其他页,而该页又很快被访问,必须换入,如此频繁地置换页面,以致操作系统的大部分时间都花在页面置换上,引起系统性能下降甚至崩溃。引起系统抖动现象的原因是对换的信息量过大,内存容量不足,置换算法选择不当。所以解决的办法就是降低交换页面数量,加大内存容量,改变置换选择算法。但是降低交换页面数量和改变置换选择算法对于一个应用系统来讲是不可能的,只能增加内存容量。增加内存容量可以是直接添加物理内存(大型计算机都可以在不关机的情况下增加物理内存条),或者,降低进程数量,相对地增加内存。而增加交换区容量并不能解决物理内存不足的问题,提高用户进程的优先级会使系统的状态更加恶化。 30.在虚拟存储管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是( )。 A.编辑 B.编译 C.链接 D.装载 【答案】B 【解析】程序的编辑阶段一般都是程序员能够识别的高级语言或低级语言的文本,不涉及到任何与计算机运行相关的事;编译是由编译程序将用户源代码编译成若干个目标模块,源地址编译成目标程序时,会形成逻辑地址;链接是由链接程序将编译后形成的一组目标模块,以及所需库函数链接,形成完整的装入模块;装入是由装入程序将装入模块装入内存。 31.某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读人缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。在单缓冲区和双缓冲区结构下,读人并分析完该文件的时间分别是( )。 A.1500μs、1000μs B.1550μs、1100μs C.1550μs、1550μs D.2000μs、2000Μs 【答案】B 【解析】这是一个简单的缓冲区的问题。由于缓冲区的访问是互斥的,所以对单一缓冲区,从磁盘写入和读出到用户区的操作必须串行执行,也就是要保证互斥操作。而CPU对数据的分析与从用户区读数据也是需要互斥操作,但是CPU分析与从磁盘写入缓冲区的操作可以并行。从本题看,由于分析所用的时间小于从磁盘写入缓冲区的时间,因此,CPU会空闲。单缓冲区的总时间=(磁盘写入缓冲区时间+缓冲区读出时间)×10+CPU处理最后一块数据的时间=(100+50) ×10+50=1550μs。当采用双缓冲区时,每块缓冲区的操作也必须满足互斥操作,但是,对两块缓冲区的操作却可以并行,所以,当第一个缓冲区写满以后,磁盘紧接着写另一个缓冲区,同时,前一个已经满了的缓冲区被读出到用户区,并立即进行CPU的数据分析。读出操作和数据分析必须互斥进行,故从时间上看,当数据被读出并分析后,恰好另一个缓冲区也写满了,可以立即进行读出数据到用户区并进行数据分析。两块缓冲区交替进行读写,直到数据分析完毕,因此,总时间=(磁盘写入缓冲区时间)×10+读出最后一块数据时间+CPU分析最后一块数据时间=(100)×10+50+50=1100μs。 32.有两个并发执行的进程P1和P2,共享初值为l的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。 两个操作完成后,2的值( )。 A.可能为-1或3 B.只能为1 C.可能为0、1或2 D.可能为-1、0、1或2 【答案】C 【解析】这是在数据库中常有的操作。为保证数据的正确,避免产生错误,系统必须保证数据的同步。而保证数据的同步一般采取加锁的方法,让进程P1和P2互斥访问共享变量x。当然用信号量和P、V操作也是可以保证互斥操作,达到数据同步的。本例中,由于没有采取保证数据同步的相应措施,则最后结果就会出现差错。例如,当正常情况下,进程Pl和P2先后对x操作,可以看到x值的变化为初始1→2→1的过程,若P2,P1先后操作,则x值的变化为初始1→0→1,这是正确的。若考虑一种并发的情况,进程P1和P2先后执行了取数load的操作,它们得到的x值均为1,运算后,P1和P2的x值分别为2和0,此时要看哪个进程后执行存数store的操作了,哪个进程后操作,结果就是那个进程的x值,所以可能的结果为0或2,加上前面正确的x值1,则可能的结果就有3种了。 33.TCP/IP参考模型的网络层提供的是( )。 A.无连接不可靠的数据报服务 B.无连接可靠的数据报服务 C.有连接不可靠的虚电路服务 D.有连接可靠的虚电路服务 【答案】A 【解析】TCP/IP的网络层向上只提供简单灵活的、无链接的、尽最大努力交付的数据服务,因此答案是A。 34.若某通信链路的数据传输速率为2400bps,采用4相位调制,则该链路的波特率是( )。 A.600波特 B.1200波特 C.4800波特 D.9600波特 【答案】B 【解析】注意无噪声下的码元速率极限值B与信道带宽H的关系:B=2×H(Baud),而奈奎斯特公式——无噪信道传输能力公式是C=2×H×log2N(bps),N为一个码元所取的离散值个数。从而可以得到波特率与数据传输速率的关系,即C=B×log2N(bps),在本题中数据传输速率C=2400,N=4,因此波特率是1200,答案是B。 35.数据链路层采用选择重传协议(SR)传输数据,发送方已发送了0H3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是( )。 A.1 B.2 C.3 D.4 【答案】B 【解析】在选择重传协议中,接收方逐个地确认正确接收的分组,不管接收到的分组是否有序,只要正确接收就发送选择ACK分组进行确认。因此选择重传不支持累积确认,要特别注意其与GBN协议的区别。本题收到l号帧的确认,说明1号帧正确接收,0和2号帧依次超时,因此必须重传,然而3号帧尚未超时,是否正确接收未知,故不用重传,因此必须重传0和2号帧,答案是B。 36.下列选项中,对正确接收到的数据帧进行确认的MAC协议是( )。 A.CSMA B.CDMA C.CSMA/CD D.CSMA/CA 【答案】D 【解析】可采用排除法。CDMA是码分多址复用,是物理层的内容;CSMA/CD即带冲突检测的载波监听多路访问,接收方并不需要确认;CSMA/CD是CSMA的加强版,故CSMA也无确定;CSMA/CD是802.11中的协议,其利用ACK信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的ACK信号后才确认送出的数据已经正确到达目的地址,因此答案是D。 37.某网络拓扑如下图所示,路由器Rl只有到达子网l92.168.1.0/24的路由。为使R1可以将IP分组正确地路由到图中所有子网,则在R1中需要增加一条路由(目的网络,子网掩码,下一跳)是( )。 A.192.168.2.0,255.255.255.128,192.168.1.1 B.192.168.2.0,255.255.255.0, 192.168.1.1 C.192.168.2.0,255.255.255.128,192.168.1.2 D.192.168.2.0,255.255.255.0, 192.168,1,2 【答案】D 【解析】首先从题目给出的路由表项可以确定下一跳肯定是路由器R1直接相连的R2的地址,因此是192.168.1.2,此时可以排除A和B两个选项了。进而分析路由器R2所连接的网络特点,注意其连接了2个网络分别是l92.168.2.0/25和192.168.2.128/25,但答案选项中只有一条信息,因此这里用到了超网的概念,超网是与子网类似的概念——IP地址根据子网掩码被分为的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络——超网,这里 192.168.2.00000000/25和192.168.2./25前24位是相同的,因此所构成的超网就是l92.168.2.0/24,那么子网掩码就是255.255.255.00000000即255.255.255.0,因此答案是D。 38.在子网l92.168.4.0/30中,能接收目的地址为l92.168.4.3的IP分组的最大主机数是( )。 A.0 B.1 C.2 D.4 【答案】C 【解析】每个子网中忽略子网内全为0和全为1的地址剩下的就是有效主机地址,本题中由于子网的比特数是30,因此用于主机的只有2位,即O0,01,10,11,有效主机地址是2个,这里192.168.4.3显然是其广播地址,因此答案是C。 39.主机甲向主机乙发送一个(SYN一1,seq一11220)的TCP段,期望与主机乙建立TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的TCP段可能是( )。 A.(SYN=0,ACK=0,seq=11221,ack=11221) B.(SYN=1,ACK=1,seq=11220,ack=11220) C.(SYN=1,ACK=1,seq=11221,ack=11221) D.(SYN=0,ACK=0,seq=11220,ack=11220) 【答案】C 【解析】TCP是面向连接的,所谓面向连接,就是当计算机双方通信时必需先建立连接,然后数据传送,最后拆除三个过程,也就是客户主动打开TCP传输,服务器被动打开。第一次握手:客户发送SYN=1,seq=x给服务器,即客户的TCP向服务器发出连接请求报文段,其首部中的同步位SYN=1,并选择序号seq=x,表明传送数据时的第一个数据字节的序号是x。第二次握手:服务器发送SYN=1,ACK=l,seq=y,ack=x+1给客户,即服务器的TCP收到连接请求报文段后,如同意则发回确认。服务器在确认报文段中应使SYN=1,使ACK=1,其确认号ack=x+1,自己选择的序号seq=y。第三次握手:客户发送ACK=1,seq=x+1,ack=y+1给服务器,即客户收到此报文段后向服务器给出确认,其ACK=1,确认号ack=y+1。客户的TCP通知上层应用进程,连接已经建立。服务器的TCP收到主机客户的确认后,也通知其上层应用进程:TCP连接已经建立。因此,本题中x=11220,y是主机乙自动选取的序号,可以与x相同,也可以不相同,从而主机乙所发出的TCP段应该是SYN=1,ACK=1,seq=y,ack=x+1,即SYN=1,ACK=1,seq=y,ack=11221,从而答案是C。 40.主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300字节、400字节和500字节的有效载荷,第3个段的序号为900。若主机乙仅正确接收到第1和第3个段,则主机乙发送给主机甲的确认序号是( )。 A.300 B.500 C.1200 D.1400 【答案】B 【解析】本题考查TCP的确认机制,TCP首部的序号字段是指本报文所发送的数据的第一个字节的序号。本题中首先根据第3个段的序号为900,可以得出第2个段的序号为500,第l个段的序号为200,这里主机乙仅正确接收了第1段和第3段,这意味着第2段丢失,需要超时重传,因此主机乙发送给主机甲的确认序号,也就是此时接收端期望收到的下一个数据包中第一个字节的序号应该是第二段的第一个字节的序号,也就是500,因此答案是B。 二、综合应用题:41~47小题,共70分。 41.(8分)已知有6个顶点(顶点编号为0--5)的有向带权图G,其邻接矩阵A为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。 46 ∞ ∞ ∞ 5 ∞ ∞ ∞ 4 3 ∞ ∞ 3 3 要求: (1)写出图G的邻接矩阵A。 (2)画出有向带权图G。 (3)求图G的关键路径,并计算该关键路径的长度。 解:(1)由题可以画出待定上三角矩阵的结构图如下(图中?为待定元素): 可以看出,第一行至第五行主对角线上方的元素分别为5,4,3,2,1个,由此可以画出压缩存储数组中的元素所属行的情况,如下图所示: 将各元素填入各行即得邻接矩阵: (2)根据第一步所得矩阵A容易做出有向带权图G,如下: (3)下图中粗线箭头所标识的4个活动组成图G的关键路径。 由上图容易求得图的关键路径长度为:4+5+4+3=16。 42.(15分)一个长度为L(L≥1)的升序序列S,处在第「L/2」个位置的数为S的中位数。例如,若序列S1=(11,13,15,17,19),则Sl的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则Sl和S2的中位数是11。现有两个等长升序序列A和B,试设计一个时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度。 解:(1)算法的基本设计思想:分别求两个升序序列A和B的中位数,设为a和b。 ①若a=b,则a或b即为所求的中位数。 ②否则,若ab,中位数只能出现(b,a)范围内,舍弃b所在序列B的较小一半,同时舍弃a所在序列A的较大一半。 ③在保留的两个升序序列中求出新的中位数a和b,重复上述过程,直到两个序列中只含一个元素时为止,则较小者即为所求的中位数。 (2)用C语言算法描述如下: (3)说明算法的复杂性:算法的时间复杂度、空间复杂度分别是O(1og2n)和O(1)。 43.(11分)假定在一个8位字长的计算机中运行下列C程序段: 若编译器编译时将8个8位寄存器Rl~R8分别分配给变量x、y、m、n、z1、z2、k1和k2。请回答下列问题。(提示:带符号整数用补码表示) (1)执行上述程序段后,寄存器R1、R5和R6的内容分别是什么?(用十六进制表示) (2)执行上述程序段后,变量m和kl的值分别是多少?(用十进制表示) (3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。 (4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出? 解:(1)无符号整数运算,(R1)=x=134=(R5)=x-y=246=(R6)=x+y=01111100B=7CH。 (2)m的机器数与x的机器数相同为86H=1000 0110B,解释为带符号整数(用补码表示)时,其值为-111 1010B=-112;同理k1=(m-n)=(x-y)=90H=1001 0000B,解释为带符号整数(用补码表示)时,其值为-111 1010B=-112; n (3)四种运算可以利用同一个加法器及辅助电路实现,n位加法器实现的是模2无符号整数加法运算。对于无符号整数a和b,a+b可以直接用加法器实现,而a-b=a+[-b]补(mod2n)实现;对于带符号整数用补码表示,补码加减运算公式为:[a+b] 补=[a] 补+[b] 补(mod2n),[a-b] 补=[a] 补+[-b] 补(mod2n),所以四种运算都可在n位加法器中实现。 (4)判断溢出的方法有3种:一位符号位、进位位和双符号位。上述程序段中只有int k2=m+n语句会发生溢出,因为2个带符号整数均为负数,它们相加之后,结果小于8位二进制所能表示的最小负数。 44.(12分)某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB;Cache采用直接映射方式,共8行;主存与Cache之间交换的块大小为32B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题44-a图、题44-b所示,图中页框号及标记字段的内容为十六进制形式。 题44-a图页表的部分内容 题44-b图Cache的部分内容 请回答下列问题。 (1)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)? (2)使用物理地址访问Cache时,物理地址应划分哪几个字段?要求说明每个字段的位数及在物理地址中的位置。 (3)虚拟地址001C60H所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache命中?要求说明理由。 (4)假定为该机配置一个4路组相联的TLB,该TLB共可存放8个页表项,若其当前内容(十六进制)如题44-c图所示,则此时虚拟地址024BACH所在的页面是否在主存中?要求说明理由。 题44-c图TLB的部分内容 解:(1)由于页面大小为4KB,页内地址需要12位,所以虚拟地址24位,其中虚页号占12位;物理地址20位,其中页框号(实页号)占8位。 (2)主存物理地址20位,从左至右应划分3个字段:标记字段、块号字段、块内地址字段。其中标记12位,块号3位,块内地址5位。 (3)虚拟地址001C60H=0000 0000 0001 1100 0110 0000B,该虚拟地址的虚页号为001H,查页表可以发现,虚页号1对应的有效位为“1”,表明此页在主存中,页框号为04H,对应的20位物理地址是04C60H= 访问该地址时,Cache不命中,因为Cache采用直接映射方式,对应的物理地址应该映射到Cache的第3行中,其有效位为1,标记值105H≠04CH(物理地址高12位),故访问该地址时Cache不命中。 (4)虚拟地址024BACH= 45.(8分)某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下: 请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。 解:(1)互斥资源:取机号,故设一个互斥信号量mutex。 (2)同步问题:顾客需要获得空座位等待叫号,当营业员空闲时,将选取一位顾客为其服务。空座位的有、无影响等待顾客数量,顾客的有、无决定两营业员是否能开始服务。另外,顾客获得空座位后,需要等待叫号和被服务,顾客与营业员就服务何时开始有同步关系。设信号量teller,customer和mutex初值分别为0,0和1,设waiting为整型量,表示排队的储户数量,其初始为0,表示顾客初始时为0,最大不超过10(10把座椅),各进程的具体实现如下所示: 46.(7分)某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。请回答如下问题。 (1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说明理由。为定位文件数据块。需要在FCB中设计哪些相关描述字段? (2)为快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?要求说明理由。 解:根据题目所给条件,文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但是可以多次创建新文件,我们得知该文件系统是不能修改原文件的,只能将修改后的文件按新文件来存储,这与一次刻录光盘的存储方式相似。对于这样的系统,因为不需要随时添加或删除文件的内容,所以一次写入的文件的大小是固定不变的,也是可预知的,而连续存放文件的方式就有其优点。这种方式只需要知道文件的起始地址和文件的大小,便可以通过计算的方法找到文件的任何位置。文件若需要修改,则原文件作废,修改以后的文件以新文件的形式重新写入,不会产生存储碎片,高效,高利用率。所以,如下作答。 (1) 连续的数据块组织方式更合适,因为文件的数据一次性写入磁盘,已写入的文件不可修改,但是可以多次创建新文件,我们得知该文件系统是不能修改原文件的,只能将修改后的文件按新文件来存储。不需要随时添加或删除文件的内容,所以一次写入的文件的大小是固定不变的,也是可预知的。这样,只需要知道文件的起始地址和文件的大小,便可以通过计算的方法访问文件的任意位置。 为定位文件数据块。需要在FCB中设计相关描述字段有:<起始块号,块数>或者<起始块号,结束块号>。 (2)将所有的FCB集中存放,文件数据集中存放。这样在随机查找文件名时,只需访问FCB对应的块,可减少磁头移动和磁盘I/O访问次数。 47.(9分)某主机的MAC地址为00-15-C5-Cl-5E-28,IP地址为10.2.128.100(私有地址)。题47-a图是网络拓扑,题47-b图是该主机进行Web请求的1个以太网数据帧前80个字节的十六进制及ASCII码内容。 题47-a图网络拓扑 题47-b图以太网数据帧(前80字节) 请参考图中的数据回答以下问题。 (1)Web服务器的IP地址是什么?该主机的默认网关的MAC地址是什么? (2)该主机在构造题47-b图的数据帧时,使用什么协议确定目的MAC地址?封装该协议请求报文的以太网帧的目的MAC地址是什么? (3)假设HTTP/1.1协议以持续的非流水线方式工作,以此请求一响应时间为RTT,rfc.html页面引用了5个JPEG小图像,则从发出题47-b图中的Web请求开始到浏览器收到全部内容为止,需要多少个RTT? (4)该帧所封装的IP分组经过路由器R转发时,需修改IP分组头中的哪些字段?注:以太网数据帧结构和IP分组头结构分别如题47-c图、题47-d图所示。 题47-c图以太网帧结构 题47-d图IP分组头结构 解:(1)以太网的数据部分是IP数据报,只要找出相应字段所在的字节即可。根据图47-c可知以太网头部有6+6+2=14字节,根据图47-d可知IP地址有16字节,从图47-b第一个字节开始数14+16=30字节,得目的IP地址为40.aa.62.20即.170.98.32。而以太网帧的前6字节00-21-27-21-51-ee是目的MAC地址,即为主机的默认网关10.2.128.1端口的MAC地址。 (2)该主机在构造题47-b图的数据帧时,使用ARP协议确定目的MAC地址。封装该协议请求报文的以太网帧的目的MAC地址是广播地址即FF-FF-FF-FF-FF-FF。 (3)假设HTTP/1.1协议以持续的非流水线方式工作,客户机在收到前一个请求的响应后才能发出下一个请求。第一个RTT用于请求Web页面,客户机收到第一个请求的响应后,每访问一次对象就需一个RTT。rfc.html页面引用了5个JPEG小图像,则从发出题47-b图中的Web请求开始到浏览开始到浏览器受到全部内容为止,故共需1+5=6个RTT后浏览器收到全部内容。 (4)私有地址要和Internet上的主机通信时,须由NAT路由器进行网络地址转换,转换为一个全球IP地址。IP数据报没经过一个路由器,生存时间TTL值就减少1,并重新计算首部校验和。所以需修改的信息有源IP地址,头部校验和,生存时间。 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 一、单项选择题:1~40小题。每小题2分,共80分。下列每题给出的四个选项中。只有一个选项是最符合题目要求的。 1.若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。 A.d,c,e,b,f,a B.c,b,d,a,e,f C.b,c,a,e,f,d D.a,f,e,d,c,b 2.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,元素a,b,c,d,e依次入此队列后再进行出队操作,则不可能得到的出队序列是( )。 A.b,a,c,d,e B.d,b,a,c,e C.d,b,c,a,e D.e,c,b,a,d 3.下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是( )。 4.在下图所示的平衡二叉树中,插入关键字48后得到一棵新平衡二叉树。在新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是( )。 A.13、48 B.24、48 C.24、53 D.24、90 5.在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是( )。 A.41 B.82 C.113 D.122 6.对n(n≥2)个权值均不相同的字符构成哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是( )。 A.该树一定是一棵完全二叉树 B.树中一定没有度为1的结点 C.树中两个权值最小的结点一定是兄弟结点 D.树中任一非叶结点的权值一定不小于下一层任一结点的权值 7.若无向图G=(V,E)中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是( )。 A.6 B.15 C.16 D.21 8.对下图进行拓扑排序,可以得到不同的拓扑序列的个数是( )。 A.4 B.3 C.2 D.1 9.已知一个长度为l6的顺序表L,其元素按关键字有序排列。若采用折半查找法查找一个L中不存在的元素,则关键字的比较次数最多是( )。 A.4 B.5 C.6 D.7 10.采用递归方式对顺序表进行快速排序。下列关于递归次数的叙述中,正确的是( )。 A.递归次数与初始数据的排列次序无关 B.每次划分后,先处理较长的分区可以减少递归次数 C.每次划分后,先处理较短的分区可以减少递归次数 D.递归次数与每次划分后得到的分区的处理顺序无关 11.对一组数据(2,12,16,88,5,10)进行排序,若前三趟排序结果如下: 第一趟:2,12,16,5,10,88 第二趟:2,12,5,10,16,88 第三趟:2,5,10,12,16,88 则采用的排序方法可能是( )。 A.起泡排序 B.希尔排序 C.归并排序 D.基数排序 12.下列选项中,能缩短程序执行时间的措施是( )。 Ⅰ.提高CPU时钟频率 Ⅱ.优化数据通路结构 Ⅲ.对程序进行编译优化 A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅱ和Ⅲ D.Ⅰ、Ⅱ和Ⅲ 13.假定有4个整数用8位补码分别表示为r1=FEH,r2=F2H,r3=90H,r4=F8H。若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是( )。 A.r1×r2 B.r2×r3 C.r1×r4 D.r2×r4 14.假定变量i、f和d的数据类型分为int、float和double(int用补码表示,float和double分别用IEEE754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1.5e100。若在32位机器中执行下列关系表达式,则结果为“真”的是( )。 (Ⅰ)i==(int)(float)i (Ⅱ)f==(float)(int)f (Ⅲ)f==(float)(double)f (IV)(d+f)-d==f A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅱ和Ⅲ D.仅Ⅲ和Ⅳ 15.假定用若干个2K×4位的芯片组成一个8K×8位的存储器,则地址0B1FH所在芯片的最小地址是( )。 A.0000H B.0600H C.0700H D.0800H 16.下列有关RAM和ROM的叙述中,正确的是( )。 Ⅰ.RAM是易失性存储器,ROM是非易失性存储器 Ⅱ.RAM和ROM都采用随机存取方式进行信息访问 Ⅲ.RAM和ROM都可用作Cache Ⅳ.RAM和ROM都需要进行刷新 A.仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ、Ⅱ和Ⅳ D.仅Ⅱ、Ⅲ和Ⅳ 17.下列命中组合情况中,一次访存过程中不可能发生的是( )。 A.TLB未命中,Cache未命中,Page未命中 B.TLB未命中,Cache命中,Page命中 C.TLB命中,Cache未命中,Page命中 D.TLB命中,Cache命中,Page未命中 18.下列寄存器中,汇编语言程序员可见的是( )。 A.存储器地址寄存器(MAR) B.程序计数器(PC) C.存储器数据寄存器(MDR) D.指令寄存器(IR) 19.下列选项中,不会引起指令流水线阻塞的是( )。 A.数据旁路(转发) B.数据相关 C.条件转移 D.资源冲突 20.下列选项中的英文缩写均为总线标准的是( )。 A.PCI、CRT、USB、EISA B.ISA、CPI、VESA、EISA C.ISA、SCSl、RAM、MIPS D.ISA、EISA、PCI、PCI-Express 21.单级中断系统中,中断服务程序内的执行顺序是( )。 Ⅰ保护现场;Ⅱ开中断;Ⅲ关中断;Ⅳ保存断点;Ⅴ中断事件处理;Ⅵ恢复现场;Ⅶ中断返回 A.Ⅰ→Ⅴ→Ⅵ→Ⅱ→Ⅷ B.Ⅲ→Ⅰ→Ⅴ→Ⅶ C.Ⅲ→Ⅳ→Ⅴ→Ⅵ→Ⅶ D.Ⅳ→Ⅰ→Ⅴ→Ⅵ→Ⅶ 22.假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为1600×1200,颜色深度为24位,帧频为85Hz,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为( )。 A.245Mbps B.979Mbps C.1958Mbps D.7834Mbps 23.下列选项中,操作系统提供的给应用程序的接口是( )。 A.系统调用 B.中断 C.库函数 D.原语 24.下列选项中,导致创建新进程的操作是( )。 Ⅰ.用户登录成功 Ⅱ.设备分配 Ⅲ.启动程序执行 A.仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ和Ⅲ D.Ⅰ、Ⅱ和Ⅲ 25.设与某资源相关联的信号量初值为3,当前为1,若M表示该资源的可用个数,N表示等待该资源的进程数,则M,N分别是( )。 A.0、1 B.1、0 C.1、2 D.2、0 26.下列选项中,降低进程优先级的合理时机是( )。 A.进程的时间片用完 B.进程刚完成I/O,进入就绪队列 C.进程长期处于就绪队列 D.进程从就绪状态转为运行态 27.进程P0和Pl的共享变量定义及若进程P0和Pl访问临界资源的类C伪代码实现如下: 则并发执行进程P0和Pl时产生的情况是( )。 A.不能保证进程互斥进入临界区,会出现“饥饿”现象 B.不能保证进程互斥进入临界区,不会出现“饥饿”现象 C.能保证进程互斥进入临界区,会出现“饥饿”现象 D.能保证进程互斥进入临界区,不会出现“饥饿”现象 28.某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(BestFit)算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分,区的大小是( )。 A.7MB B.9MB C.10MB D.15MB 29.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为: 页目录号 16页号 页内偏移量 逻辑地址空间大小为2页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( )。 A. B.128 C.256 D.5l2 30.设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块和磁盘数据块的大小均为256字节,则可表示的单个文件最大长度是( )。 A.33KB B.519KB C.1057KB D.16513KB 31.设置当前工作目录的主要目的是( )。 A.节省外存空间 B.节省内存空间 C.加快文件的检索速度 D.加快文件的读/写速度 32.本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( )。 A.命令解释程序 B.中断处理程序 C.系统调用服务程序 D.用户登录程序 33.下列选项中,不属于网络体系结构中所描述的内容是( )。 A.网络的层次 B.每一层使用的协议 C.协议的内部实现细节 D.每一层必须完成的功能 34.在下图所示的采用“存储一转发”方式的分组交换网络中,所有链路的数据传输速率为100Mbps,分组大小为1000B,其中分组头大小20B,若主机Hl向主机H2发送一个大小为980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是( )。 A.80ms B.80.08ms C.80.16ms D.80.24ms 35.某自治系统内采用RIP协议,若该自治系统内的路由器R1收到其邻居路由器R2的距离矢量,距离矢量中包含信息“ A.R2可以经过R1到达net1,跳数为17 B.R2可以到达net1,跳数为16 C.R1可以经过R2到达net1,跳数为17 D.R1不能经过R2到达net1 36.若路由器R因为拥塞丢弃IP分组,则此时R可向发出该IP分组的源主机发送的ICMP报文件类型是( )。 A.路由重定向 B.目的不可达 C.源抑制 D.超时 37.某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内的最大可分配地址个数分别是( )。 A.32,8 B.32,6 C.8,32 D.8,30 38.下列网络设备中,能够抑制广播风暴的是( )。 Ⅰ.中继器 Ⅱ.集线器 Ⅲ.网桥 Ⅳ.路由器 A.仅Ⅰ和Ⅱ B.仅Ⅲ C.仅Ⅲ和Ⅳ D.仅Ⅳ 39.主机甲和主机乙之间已建立了一个TCP连接,TCP最大段长度为1000字节,若主机甲的当前拥塞窗口为4000字节,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的对第一个段的确认段,确认段中通告的接收窗口大小为2000字节,则此时主机甲还可以向主机乙发送的最大字节数是( )。 A.1000 B.2000 C.3000 D.4000 40.如果本地域名服务无缓存,当采用递归方法解析另一网络某主机域名时,用户主机、本地域名服务器发送的域名请求消息数分别为( )。 A.1条,1条 B.1条,多条 C.多条,1条 D.多条,多条 二、综合应用题:41—47小题,共70分。 41.(10分)将关键字序列(7,8,30,11,18,9,14)散列存储到散列表中,散列表的存储空间是一个下标从0开始的一维数组。散列函数是:H(key)=(key×3)MOD7,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7。 (1)请画出所构造的散列表。 (2)分别计算等概率情况下查找成功和查找不成功的平均查找长度。 42.(13分)设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两方面都尽可能高效的算法,将R中存有的序列循环左移P(0 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度。 43.(11分)某计算机字长16位,主存地址空间大小为128KB,按字编址,采用单字长指令格式,指令各字段定义如下: 转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义如下: Ms/Md 寻址方式 助记符 含义 000B 寄存器直接 Rn 操作数一(Rn) 001B 寄存器间接 (Rn) 操作数一((Rn)) 操作数一((Rn)), 010B 寄存器间接、自增 (Rn)+ (Rn)+1一Rn 转移目标地址一 (PC)+011B 相对 D(Rn) (Rn) 注:(X)表示存储器地址X或寄存器X的内容。请回答下列问题: (1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位? (2)转移指令的目标地址范围是多少? (3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为l234H,R5的内容为5678H,地址1234H的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add(R4),(R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么? 44.(12分)某计算机的主存地址空间大小为256MB,按字节编址,指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示:程序A:程序B: 假定int类型数据用32位补码表示,程序编译时i,j,sum均分配在寄存器中,数组a按行优先方式存放,首地址320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。 (1)若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少? (2)数组数据a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)? (3)程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短? 45.(7分)假设计算机系统采用CSCAN(循环扫描)磁盘调度策略。使用2KB的内存空间记录16384个磁盘块的空闲状态。 (1)请说明在上述条件下如何进行磁盘空闲状态的管理。 (2)设某单面磁盘旋转速度为每分钟6000转,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需要读取1个随机分布的扇区,则读完这4个扇区总共需要多少时间?要求给出计算过程。 (3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。 46.(8分)设某计算机的逻辑地址空间和物理地址空间均为KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(PageFrame)。在时刻260前的该进程访问情况如下表所示(访问位即使用位)。 页号 页框号 装入时刻 访问位 O 7 130 1 1 4 230 1 2 2 200 1 3 9 160 1 当该进程执行到时刻260时,要访问的逻辑地址为17CAH的数据,请回答下列问题: (1)该逻辑地址对应的页号是多少? (2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。 (3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,如图所示) 47.(9分)某局域网采用CSMA/CD协议实现介质访问控制,数据传输率为10Mbps,主机甲和主机乙之间的距离为2km,信号传播速度是200000km/s。请回答下列问题,要求说明理由或写出计算过程。 (1)若主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间?(假设主机甲和主机乙发送数据过程中,其他主机不发送数据) (2)若网络不存在任何冲突与差错,主机甲总是以标准的最长以太网数据帧(1518字节)向主机乙发送数据,主机乙每成功收到一个数据帧后立即向主机甲发送一个字节的确认帧,主机甲收到确认帧后方可发送下一个数据帧,此时主机甲的有效数据传输速率是多少?(不考虑以太网帧的前导码) 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 一、单项选择题:1~40小题。每小题2分,共80分。下列每题给出的四个选项中。只有一个选项是最符合题目要求的。 1.若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。 A.d,c,e,b,f,a B.c,b,d,a,e,f C.b,c,a,e,f,d D.a,f,e,d,c,b 【答案】D 【解析】4个选项所给序列的进、出栈操作序列分别为: 选项A.Push,Push,Push,Push,Pop,Pop,Push,Pop,Pop,Push,Pop,Pop 选项B.Push,Push,Push,Pop,Pop,Push,Pop,Pop,Push,Pop,Push,Pop 选项C.Push,Push,Pop,Push,Pop,Pop,Push,Push,Pop,Push,Pop,Pop 选项D.Push,Pop,Push,Push,Push,Push,Push,Pop,Pop,Pop,Pop,Pop 按照题目要求,不允许连续三次进行退栈操作,所以选项D所给序列为不可能得到的出栈顺序。 2.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,元素a,b,c,d,e依次入此队列后再进行出队操作,则不可能得到的出队序列是( )。 A.b,a,c,d,e B.d,b,a,c,e C.d,b,c,a,e D.e,c,b,a,d 【答案】C 【解析】根据题意,队列两端都可以输入数据元素,但是只能在一端输出数据元素,这种队列为输出受限的双端队列。本题解题方法分别判断每个选项如何入队和出队,从而得出不可能的情况。 假设L代表从左端入队,R代表从右端入队,出队都是从左端L出。四个选项所给序列的进队操作序列分别为: 选项A.aL(或aR),bL,cR,dR,eR 选项B.aL(或aR),bL,cR,dL,eR 选项C.不可能出现 选项D.aL(或aR),bL,cL,dR,eL 3.下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是( )。 【答案】D 【解析】线索二叉树利用二叉链表的空链域来存放结点的前驱和后继信息,解题思路较简单。题中所给二叉树的后序序列为dbca。结点d无前驱和左子树,左链域空,无右子树,右链域指向其后继结点b;结点b无左子树,左链域指向其前驱结点d;结点c无左子树,左链域指向其前驱结点b,无右子树,右链域指向其后继结点a。所以正确选项为D。 4.在下图所示的平衡二叉树中,插入关键字48后得到一棵新平衡二叉树。在新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是( )。 A.13、48 B.24、48 C.24、53 D.24、90 【答案】C 【解析】题目中,插入48以后,树根结点的平衡因子由-1变为-2,失去平衡。这属于RL(先右后左)型平衡旋转,需做两次(先右旋后左旋转)旋转操作。过程如下图所示: 显然,在调整后的新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是24,53。 5.在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是( )。 A.41 B.82 C.113 D.122 【答案】B 【解析】根据二叉树的性质3的推广公式:N0=l+N2+2N3+…+(m-1)Nm可直接在将数据带入公式,即N0=l+N2+2N3+3N4=l+1×1+2×10+3×20=82。树T的叶子结点的个数是82。如果考生不能熟练掌握二叉树的性质3的推广公式,得到本题的正确答案将费时费力。因此,需要熟练掌握二叉树的性质及推广。 6.对n(n≥2)个权值均不相同的字符构成哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是( )。 A.该树一定是一棵完全二叉树 B.树中一定没有度为1的结点 C.树中两个权值最小的结点一定是兄弟结点 D.树中任一非叶结点的权值一定不小于下一层任一结点的权值 【答案】A 【解析】哈夫曼树为带权路径长度最小的二叉树,但不一定是完全二叉树,选项A错误;哈夫曼树中没有度为1的结点,选项B正确;构造哈夫曼树时,最先选取两个权值最小的结点作为左右子树构造一棵新的二叉树,C正确;哈夫曼树中任一非叶结点P的权值为其左右子树根结点权值之和,其权值不小于其左右子树根结点的权值,在与结点P的左右子树根结点处于同一层的结点中,若存在权值大于结点P权值的结点Q,那么结点Q与其兄弟结点中权值较小的一个应该与结点P作为左右子树构造新的二叉树,由此可知,哈夫曼树中任一非叶结点的权值一定不小于下一层任一结点的权值。 7.若无向图G=(V,E)中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是( )。 A.6 B.15 C.16 D.21 【答案】C 【解析】要保证无向图G在任何情况下都是连通的,即任意变动图G中的边,G始终保持连通。首先需要图G的任意6个结点构成完全连通子图G1,需n(n-l)/2=6×(6—1)/2=15条边,然后再添加一条边将第7个结点与G1连接起来,共需l6条边。本题非常容易错误地选择选项A,主要原因是对“保证图G在任何情况下都是连通的”的理解,分析选项A,在图G中,具有7个顶点6条边并不能保证其一定是连通图,即有n-1条边的图不一定是连通图。分析选项D,图G有7个顶点21条边,那么图G一定是无向完全图,无向完全图能保证其在任何情况下都是连通的,但是这不符合题目中所需边数最少的要求。 8.对下图进行拓扑排序,可以得到不同的拓扑序列的个数是( )。 A.4 B.3 C.2 D.1 【答案】B 【解析】拓扑排序的步骤为: (1)在有向图中选一个没有前驱的顶点并且输出它; (2)从图中删除该顶点和以它为尾的弧。重复上述两步,直至全部顶点均已输出。由于没有前驱的顶点可能不唯一,所以拓扑排序的结果也不唯一。题中所给图有三个不同的拓扑排序序列,分别为abced,abecd,aebcd。 9.已知一个长度为l6的顺序表L,其元素按关键字有序排列。若采用折半查找法查找一个L中不存在的元素,则关键字的比较次数最多是( )。 A.4 B.5 C.6 D.7 【答案】B 【解析】折半查找法在查找不成功时和给定值进行比较的关键字个数最多为(log2n)+1,在本题中,n=l6,故比较次数最多为5。 10.采用递归方式对顺序表进行快速排序。下列关于递归次数的叙述中,正确的是( )。 A.递归次数与初始数据的排列次序无关 B.每次划分后,先处理较长的分区可以减少递归次数 C.每次划分后,先处理较短的分区可以减少递归次数 D.递归次数与每次划分后得到的分区的处理顺序无关 【答案】D 【解析】快速排序是递归的,递归过程可用一棵二叉树给出,递归调用层次数与二叉树的深度一致。例如:待排序列{48,62,35,77,55,14,35,98),采用快速排序方法,其对应递归调用过程的二叉树如下图所示。 在最坏情况下,若初始序列按关键码有序或基本有序时,快速排序反而蜕化为冒泡排序。即其对应递归调用过程的二叉树是一棵单支树。因此快速排序的递归次数与初始数据的排列次序有关。但快速排序的递归次数与每次划分后得到的分区处理顺序无关,即先处理较长的分区或先处理较短的分区都不影响递归次数。 11.对一组数据(2,12,16,88,5,10)进行排序,若前三趟排序结果如下: 第一趟:2,12,16,5,10,88 第二趟:2,12,5,10,16,88 第三趟:2,5,10,12,16,88 则采用的排序方法可能是( )。 A.起泡排序 B.希尔排序 C.归并排序 D.基数排序 【答案】A 【解析】题目中所给的三趟排序过程,显然是使用起泡排序方法,每趟排序时从前往后依次比较,使大值“沉底”。希尔排序的基本思想是:先对序列进行“宏观调整”,待序列中的记录“基本有序”时再进行直接插入排序。宏观调整的方法是:通过某种规则将大的待排序序列分割为若干小的待排序序列,再依次对这些小的序列直接插入排序。宏观调整可以多次,每次分割的序列数逐渐增多,而每个序列中所包含的元素数逐渐减少。归并排序的基本操作是将多个小的有序序列合并为一个大的有序序列,然后“逐趟归并”,直至整个序列为有序为止。基数排序是分配排序的一种,这类排序不是通过关键字比较,而是通过“分配”和“收集”过程来实现排序的。本题中,很容易看出大值逐渐“沉底”,显然使用的是起泡排序法。 12.下列选项中,能缩短程序执行时间的措施是( )。 Ⅰ.提高CPU时钟频率 Ⅱ.优化数据通路结构 Ⅲ.对程序进行编译优化 A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅱ和Ⅲ D.Ⅰ、Ⅱ和Ⅲ 【答案】D 【解析】一般说来,CPU时钟频率(主频)越高,CPU的速度就越快;优化数据通路结构,可以有效提高计算机系统的吞吐量;编译优化可得到更优的指令序列。所以Ⅰ、Ⅱ、Ⅲ都是有效措施。 13.假定有4个整数用8位补码分别表示为r1=FEH,r2=F2H,r3=90H,r4=F8H。若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是( )。 A.r1×r2 B.r2×r3 C.r1×r4 D.r2×r4 【答案】B 【解析】用补码表示时8位寄存器所能表示的整数范围为-128~+127。现在4个整数都是负数,r1 =-2,r2=-l4,r3=-ll2,r4=-8,在4个选项中,只有r2×r3=1568,结果溢出,其余3个算式结果都未超过127,不发生溢出。 14.假定变量i、f和d的数据类型分为int、float和double(int用补码表示,float和double分别用IEEE754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1.5e100。若在32位机器中执行下列关系表达式,则结果为“真”的是( )。 (Ⅰ)i==(int)(float)i (Ⅱ)f==(float)(int)f (Ⅲ)f==(float)(double)f (IV)(d+f)-d==f A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅱ和Ⅲ D.仅Ⅲ和Ⅳ 【答案】B 【解析】数据类型不同的数据在运算之前需要进行数据类型的转换。Ⅱ中,f的数据类型从float转换为int时,小数点后面4位会丢失,故Ⅱ的结果不为真;Ⅳ中,d+f时需要对阶,对阶后f的尾数有效位被舍去而变为0,故d+f仍然为d,再减去d后结果为0,故Ⅳ的结果也不为真。Ⅰ和Ⅱ进行数据类型的转换的时候并没有改变其值。 15.假定用若干个2K×4位的芯片组成一个8K×8位的存储器,则地址0B1FH所在芯片的最小地址是( )。 A.0000H B.0600H C.0700H D.0800H 【答案】D 【解析】由若干芯片构成存储器,采用字和位同时扩展方法。8片2K×4位的芯片分成4组,每组2个芯片,各组芯片的地址分配分别为:第l组,0000H~07FFH;第2组,0800H~0FFFH;第3组,l000H~17FFH;第4组,l800H~1FFFH。地址0BIFH处于第2组内,其芯片的最小地址为0800H。 16.下列有关RAM和ROM的叙述中,正确的是( )。 Ⅰ.RAM是易失性存储器,ROM是非易失性存储器 Ⅱ.RAM和ROM都采用随机存取方式进行信息访问 Ⅲ.RAM和ROM都可用作Cache Ⅳ.RAM和ROM都需要进行刷新 A.仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ、Ⅱ和Ⅳ D.仅Ⅱ、Ⅲ和Ⅳ 【答案】A 【解析】RAM中的内容断电后即丢失(易失性),ROM中的内容断电后不会丢失(非易失性),同时RAM和ROM都采用随机存取方式(即CPU对任何一个存储单元的存取时间相同),区别在于RAM可读可写,ROM只读不写。而ROM显然不可用作Cache,也不需要刷新,所以Ⅲ和Ⅳ的叙述都是错误的。 17.下列命中组合情况中,一次访存过程中不可能发生的是( )。 A.TLB未命中,Cache未命中,Page未命中 B.TLB未命中,Cache命中,Page命中 C.TLB命中,Cache未命中,Page命中 D.TLB命中,Cache命中,Page未命中 【答案】D 【解析】TLB(快表)和慢表(页表,Page)构成二级存储系统,若TLB命中,则Page必命中。因此不可能发生的是D选项。 18.下列寄存器中,汇编语言程序员可见的是( )。 A.存储器地址寄存器(MAR) B.程序计数器(PC) C.存储器数据寄存器(MDR) D.指令寄存器(IR) 【答案】B 【解析】CPU有5个专用寄存器,它们是程序计数器(PC)、指令寄存器(IR)、存储器地址寄存器(MAR)、存储器数据寄存器(MBR)和状态标志寄存器(PSWR),这些寄存器中有些是CPU的内部工作寄存器,对汇编语言程序员来说是透明的,在汇编语言程序设计中不会出现。但汇编语言程序员可以通过制定待执行指令的地址来设置PC的值,所以程序计数器(PC)对于汇编语言程序员可见的。 19.下列选项中,不会引起指令流水线阻塞的是( )。 A.数据旁路(转发) B.数据相关 C.条件转移 D.资源冲突 【答案】A 【解析】由于采用流水线方式,相邻或相近的两条指令可能会因为存在某种关联,后一条指令不能按照原指定的时钟周期运行,从而使流水线断流。有三种相关可能引起指令流水线阻塞: ①结构相关,又称资源相关; ②数据相关; ③控制相关,又称指令相关,主要由转移指令引起。 20.下列选项中的英文缩写均为总线标准的是( )。 A.PCI、CRT、USB、EISA B.ISA、CPI、VESA、EISA C.ISA、SCSl、RAM、MIPS D.ISA、EISA、PCI、PCI-Express 【答案】D 【解析】选项A中的CRT和USB、选项B中的CPI、选项C中的RAM和MIPS均不是总线标准的英文缩写,只有选项D中的英文缩写均为总线标准。 21.单级中断系统中,中断服务程序内的执行顺序是( )。 Ⅰ保护现场;Ⅱ开中断;Ⅲ关中断;Ⅳ保存断点;Ⅴ中断事件处理;Ⅵ恢复现场;Ⅶ中断返回 A.Ⅰ→Ⅴ→Ⅵ→Ⅱ→Ⅷ B.Ⅲ→Ⅰ→Ⅴ→Ⅶ C.Ⅲ→Ⅳ→Ⅴ→Ⅵ→Ⅶ D.Ⅳ→Ⅰ→Ⅴ→Ⅵ→Ⅶ 【答案】A 【解析】程序中断有单级中断和多级中断之分,单级中断在CPU执行中断服务程序的过程中不能被打断,即不允许中断嵌套。保存断点与关中断的任务是由硬件(中断隐指令)完成的,所以在单级中断系统中,中断服务程序内应完成的任务有:①保存现场;②中断事件处理;③恢复现场;④开中断;⑤中断返回。 22.假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为1600×1200,颜色深度为24位,帧频为85Hz,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为( )。 A.245Mbps B.979Mbps C.1958Mbps D.7834Mbps 【答案】D 【解析】显存的容量=分辨率×色深,带宽=分辨率×色深×帧频,考虑到50%的时间用来刷新屏幕,故显存总带宽应加倍。所以需要的显存总带宽至少约为:1600×1200×24×85×2=7834Mbps。 23.下列选项中,操作系统提供的给应用程序的接口是( )。 A.系统调用 B.中断 C.库函数 D.原语 【答案】A 【解析】操作系统提供给用户应用程序的接口只有两种:命令输入和系统调用。其中,命令输入又有不同的形式,例如常规的命令行、图形化人机交互接口(GUI)、自然命令用户接口(NUI)等,而系统调用中除了常规的一些传统的系统调用(例如read())以外,还有经过扩展的复杂调用(例如多种API),以及包含在Lib库中的各种封装好的过程调用(最终都是通过系统调用陷入到操作系统中去的)等。 24.下列选项中,导致创建新进程的操作是( )。 Ⅰ.用户登录成功 Ⅱ.设备分配 Ⅲ.启动程序执行 A.仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ和Ⅲ D.Ⅰ、Ⅱ和Ⅲ 【答案】C 【解析】进程创建是需要填写PCB表的,其中唯一不需要的是Ⅱ。考察一个进程创建的过程是这样的:当进程被创建,可以是用户创建,例如双击相关图标;也可以由父进程创建,例如lock()时,操作系统首先到PCB表区搜索空闲的表格,若无则直接拒绝创建进程,若有则填写PCB表创建进程。通常填写PCB表的过程有一段时间(主要涉及资源分配需要协调),许多操作系统为此设立了一个中间状态 称为“初始化”,也有的操作系统不设这个中间状态。此时操作系统填写进程ID号、处理机参数、进程参数(状态、、优先级)、分配内存(若是虚拟存储就分配虚拟地址)、映射文件等,一切就绪,将控制权交给系统进行下一步调度。设备分配可能引起进程状态的改变,但不会创建新进程,用户登录成功和启动程序执行都会创建新的进程,所以本题答案为C。 25.设与某资源相关联的信号量初值为3,当前为1,若M表示该资源的可用个数,N表示等待该资源的进程数,则M,N分别是( )。 A.0、1 B.1、0 C.1、2 D.2、0 【答案】B 【解析】信号量初值是3表示资源数有3个,当前为1表示已经用掉2个,剩余可用的资源数就只有1个了,由于资源有剩余,可见没有其他进程等待使用该资源,故进程数为0。 26.下列选项中,降低进程优先级的合理时机是( )。 A.进程的时间片用完 B.进程刚完成I/O,进入就绪队列 C.进程长期处于就绪队列 D.进程从就绪状态转为运行态 【答案】A 【解析】进程时间片用完可以降低其优先级,完成I/O的进程应该提升其优先级,处于就绪队列等待调度的进程一般不会改变其优先级。进行这样的操作主要是为了改善交互式系统的响应时间,并均衡各个作业的公平性。采用时间片轮转技术主要为改善交互式用户的感受,使其觉得是独享计算机(时间片轮转可以有效地防止计算繁忙型的进程独占计算机),时间片用完后降低其优先级是为了改善新进程的响应时间(新进程优先级较高,老进程降低优先级可以保证新进程具有优先权),对于刚进入就绪队列的新进程,往往在创建时已经根据其特点和要求确定好优先级,不会随意改变。而对于从阻塞状态唤醒的进程,由于阻塞带来了较长时间的等待,一般会根据阻塞队列的不同适当地提高优先级,以改善用户响应时间。 27.进程P0和Pl的共享变量定义及若进程P0和Pl访问临界资源的类C伪代码实现如下: 则并发执行进程P0和Pl时产生的情况是( )。 A.不能保证进程互斥进入临界区,会出现“饥饿”现象 B.不能保证进程互斥进入临界区,不会出现“饥饿”现象 C.能保证进程互斥进入临界区,会出现“饥饿”现象 D.能保证进程互斥进入临界区,不会出现“饥饿”现象 【答案】D 【解析】这是皮特森算法(Peterson’SAlgorithm)的实现,保证进入临界区的进程合理安全。该算法为了防止两个进程为进入临界区而无限期等待,设置变量turn,表示不允许进入临界区的编号,每个进程在先设置自己标志后再设置turn标志,不允许另一个进程进入,这时,再同时检测另一个进程状态标志和不允许进入标志,这样可以保证当两个进程同时要求进入临界区时只允许一个进程进入临界区。保存的是较晚的一次赋值,则较晚的进程等待,较早的进程进入。先到先人,后到等待,从而完成临界区访问的要求。 28.某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(BestFit)算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分,区的大小是( )。 A.7MB B.9MB C.10MB D.15MB 【答案】B 【解析】对于简单分区内存分配,需要将进程的所有代码和数据装入内存。故55MB先分配15MB余40MB,再分配30MB后余l0MB,释放15MB后出现一个15MB和一个10MB的空闲空间,分配8MB时按最佳适配(BestFit)算法应该使用l0MB的空闲块,余2MB的碎片,分配6MB时占用15MB的空间余9MB的碎片(空闲空间),因此最大空闲区为9MB。 29.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为: 页目录号 16页号 页内偏移量 逻辑地址空间大小为2页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( )。 A. B.128 C.256 D.5l2 【答案】B 【解析】地址空间分为逻辑地址空间和物理地址空间。页的大小为210字节,页表项大小为2B,采用 109161697 二级页表,一页可存放2/2=2个页表项,本题中逻辑地址空间大小为2字节,故最少需要2/2=2128个页面来保存页表项,故本题答案为B。 30.设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块和磁盘数据块的大小均为256字节,则可表示的单个文件最大长度是( )。 A.33KB B.519KB C.1057KB D.16513KB 【答案】C 【解析】4个地址项为直接地址索引,其指向的数据块大小4×256B=1KB,一级间接地址索引可以索引256/4=个直接地址索引,故2个一级间接地址索引指向的数据块大小为2××256B=32KB,二级间接地址索引为256/4×256/4=4096个直接地址索引,故1个二级间接地址索引指向的数据块大小为4096×256B=1024KB,共计1KB+32KB+1024KB=1057KB。 31.设置当前工作目录的主要目的是( )。 A.节省外存空间 B.节省内存空间 C.加快文件的检索速度 D.加快文件的读/写速度 【答案】C 【解析】工作目录只是指出了当前操作的默认目录,使得在每次访问的时候不需要由根目录一层一层地解析,在文件路径比较长时,可以节省许多解析的时间,从而加快了文件的检索速度。 32.本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( )。 A.命令解释程序 B.中断处理程序 C.系统调用服务程序 D.用户登录程序 【答案】B 【解析】外部设备在与计算机连接时有多种方式,中断技术就是一种常用方式。其工作原理是:利用处理机中断信号线,外部设备在需要服务的时候将该线设置为有效,计算机若同意接受中断则会停止 当前进程的运行,转而服务发出中断的物理设备(注意与陷阱,即软中断有区别),那么对不同外部设备进行服务的程序代码是不同的,如何找到这些代码呢?这就要借助中断向量,中断向量一般是由硬件根据中断的类型(不同外设不同)计算所得,或计算机系统在开机配置时所配置的。处理机取得中断向量,其实就是一个物理地址,该地址下存放的是为此中断服务的代码的起始地址。所以,当键盘按下的时候,键盘控制器获得该操作动作,先将键盘扫描码读入键盘缓冲区,再向处理机发出键盘中断,适当的时候(一条指令的末尾或一条原语结束)处理机会响应中断,调用指定服务程序将键盘缓冲区中的键盘扫描码输入到登录进程中去。如此,最先响应键盘的必然是中断处理程序。本题中,像命令解释器(例如cmd窗口)、系统调用服务和用户登录程序都在中断处理程序后面。 33.下列选项中,不属于网络体系结构中所描述的内容是( )。 A.网络的层次 B.每一层使用的协议 C.协议的内部实现细节 D.每一层必须完成的功能 【答案】C 【解析】体系结构仅规定协议的功能和消息格式,但对具体的实现细节由具体设备厂商来确定,对于网络的层次,以及每一个层次的协议及其功能都是网络体系结构所要描述的内容,因此答案为选项C。 34.在下图所示的采用“存储一转发”方式的分组交换网络中,所有链路的数据传输速率为100Mbps,分组大小为1000B,其中分组头大小20B,若主机Hl向主机H2发送一个大小为980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是( )。 A.80ms B.80.08ms C.80.16ms D.80.24ms 【答案】C 【解析】由题设可知,分组携带的数据长度为980B,文件长度为980000B,需拆分为1000个分组,加上头部后,每个分组大小为1000B,总共需要传送的数据量大小为lMB。由于所有链路的数据传输速度相同,因此文件传输经过最短路径时所需时间最少,最短路径经过分组交换机。当t=1M×8/100Mbps=80ms时,HI发送完最后一个比特;到达目的地,最后一个分组,需经过两个分组交换机的转发,每次转发的时间为t0=lK×8/100Mbps=0.08ms,所以,在不考虑分组拆装时间和传播延时的情况下,当t=80ms+2t0=80.16ms时,H2接受完文件,即所需的时间至少为80.16ms。 35.某自治系统内采用RIP协议,若该自治系统内的路由器R1收到其邻居路由器R2的距离矢量,距离矢量中包含信息“ A.R2可以经过R1到达net1,跳数为17 B.R2可以到达net1,跳数为16 C.R1可以经过R2到达net1,跳数为17 D.R1不能经过R2到达net1 【答案】D 【解析】RIP允许一条路径最多只能包含l5个路由器,因此距离等于16时相当于不可达,因此RIP协议里规定16为路由不可达,答案为D。 36.若路由器R因为拥塞丢弃IP分组,则此时R可向发出该IP分组的源主机发送的ICMP报文件类型是( )。 A.路由重定向 B.目的不可达 C.源抑制 D.超时 【答案】C 【解析】当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道把数据报的发送速率放慢,正确选项为C。 37.某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内的最大可分配地址个数分别是( )。 A.32,8 B.32,6 C.8,32 D.8,30 【答案】B 5 【解析】子网号为5位,在CIDR中可以表示2=32个子网,主机号为3位,除去全0和全1的情况可以表示6个主机地址,答案为B。 38.下列网络设备中,能够抑制广播风暴的是( )。 Ⅰ.中继器 Ⅱ.集线器 Ⅲ.网桥 Ⅳ.路由器 A.仅Ⅰ和Ⅱ B.仅Ⅲ C.仅Ⅲ和Ⅳ D.仅Ⅳ 【答案】D 【解析】中继器和集线器工作在物理层,不能抑制网络风暴。为了解决冲突域的问题,提高共享介质的利用率,通常利用网桥和交换机来分隔互联网的各个网段中的通信量,以建立多个分离的冲突域。但是,当网桥和交换机接收到一个未知转发信息的数据帧时,为了保证该帧能被目的结点正确接收,将该帧从所有的端口广播出去。于是可以看出,网桥和交换机的冲突域等于端口的个数,广播域为1。因此网桥不能抑制网络风暴。 39.主机甲和主机乙之间已建立了一个TCP连接,TCP最大段长度为1000字节,若主机甲的当前拥塞窗口为4000字节,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的对第一个段的确认段,确认段中通告的接收窗口大小为2000字节,则此时主机甲还可以向主机乙发送的最大字节数是( )。 A.1000 B.2000 C.3000 D.4000 【答案】A 【解析】发送方的发送窗口的上限值应该取接收方窗口和拥塞窗口这两个值中较小的一个,于是此时发送方的发送窗口为min{4000,2000)=2000字节,由于发送方还没有收到第二个最大段的确认,所以此时主机甲还可以向主机乙发送的最大字节数为2000-1000=1000字节,正确选项为A。 40.如果本地域名服务无缓存,当采用递归方法解析另一网络某主机域名时,用户主机、本地域名服务器发送的域名请求消息数分别为( )。 A.1条,1条 B.1条,多条 C.多条,1条 D.多条,多条 【答案】A 【解析】所谓递归查询方式就是:如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份向其他服务器继续发出查询请求报文,而不是让该主机自行下一步的查询。所以主机只需向本地域名服务器发送一条域名请求,采用递归查询方法,本地域名服务器也只需向上一级的根域名服务器发送一条域名请求,然后依次递归。正确选项为A。 二、综合应用题:41—47小题,共70分。 41.(10分)将关键字序列(7,8,30,11,18,9,14)散列存储到散列表中,散列表的存储空间是一个下标从0开始的一维数组。散列函数是:H(key)=(key×3)MOD7,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7。 (1)请画出所构造的散列表。 (2)分别计算等概率情况下查找成功和查找不成功的平均查找长度。 解:(1)要求装填因子为0.7,数组的长度应该为7/0.7=10,数组下标为0~9。各关键字的散列函数值如下表: key 7 8 30 11 18 9 14 H(key) O 3 6 5 5 6 O 采用线性探测法再散列法处理冲突,所构造的散列表为: 地址 0 1 2 3 4 5 6 7 8 9 关键字 7 14 8 11 30 18 9 (2)查找成功时,在等概率情况下,查找表中每个元素的概率是相等的,因此是根据表中元素个数来计算平均查找长度,各关键字的比较次数如下表所示: 关键字 7 8 30 11 18 9 14 次数 l 1 1 1 3 3 2 故查找成功的平均查找长度为(1+1+1+1+3+3+2)/7=12/7。 在不成功的情况下,由于任意关键字key,H(key)的值只能是0~6之间,H(key)为0需要比较3次,H(key)为1需要比较2次,H(key)为2需要比较l次,H(key)为3需要比较2次,H(key)为4需要比较l次,H(key)为5需要比较5次,H(key)为6需要比较4次,共7种情况,如下表所示: H(key) 次数 0 3 1 2 2 1 3 2 4 l 5 5 6 4 所以,在等概率下,查找失败的平均查找长度为:(3+2+1+2+1+5+4)/7=18/7。 42.(13分)设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两方面都尽可能高效的算法,将R中存有的序列循环左移P(0 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度。 解:(1)算法的基本设计思想:先将n个数据由x0,x1,…,xp,…,xn-1原地逆置,得到xn-1,…,xp,xp-1,…,x0 然后再将数组R中的前,n-P个数和后P个数分别原地逆置,最终得到结果xp,xp+1,…,xn-1,x0,x1, …,xp-1。 (2)用C语言算法描述如下: (3)说明算法的复杂性:上述算法中3个Reverse函数的的时间复杂度分别为O(p/2)、O((p-2)/2)为0(n/2),故算法的时间复杂度为O(n),算法的空间复杂度为0(1)。 43.(11分)某计算机字长16位,主存地址空间大小为128KB,按字编址,采用单字长指令格式,指令各字段定义如下: 转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义如下: Ms/Md 寻址方式 助记符 含义 操作数一(Rn) 操作数一((Rn)) 操作数一((Rn)), 010B 寄存器间接、自增 (Rn)+ (Rn)+1一Rn 转移目标地址一 (PC)+011B 相对 D(Rn) (Rn) 注:(X)表示存储器地址X或寄存器X的内容。请回答下列问题: (1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位? (2)转移指令的目标地址范围是多少? (3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为l234H,R5的内容为5678H,地址1234H的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add(R4),(R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么? 解:(1)指令操作码占4位,则指令系统最多可有24=16条不同的指令;指令操作上占6位,寻址方式占3位,于是寄存器编号占3位,该计算机最多可以有23=8个通用寄存器;主存容量为128KB,计 16 算机字长为16位,故主存有l28KB/2B=2个存储单元,故MDR和MAR至少各需l6位。 (2)由于寄存器字长为l6位,所以转移指令的目标地址范围为0000H~FFFFH。。 =2315H,该指令执行后,寄存器R5和地址为5678H的存储单元的内容会改变,改变后的内容分别为: (ACC)=((R4))+((R5))=5678H+1234H=68ACH (R5)=(R5)+1=5678H+1=5679H (1234H)=(ACC)=68ACH 44.(12分)某计算机的主存地址空间大小为256MB,按字节编址,指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示:程序A:程序B: 假定int类型数据用32位补码表示,程序编译时i,j,sum均分配在寄存器中,数组a按行优先方式存放,首地址320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。 (1)若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少? (2)数组数据a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)? (3)程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短? 解: (1)每个Cache行对应一个标记项,标记项包括有效位、脏位、替换控制位以及标记位。由主存空间大小为256M可知地址总长度为28位,其中块内地址为log2=6位,Cache块号为log28=3位,不考虑一致性维护和替换算法的控制位,则Tag的位数为28-6-3=19位,还需一位有效位,数据Cache共有8行,故Cache的总容量为8*(+20/8)B=532B (2)数组a在主存的存放位置及其与Cache之间的映射关系如下图所示: 数组按行优先方式存放,首地址为320,数组元素占4个字节。a[0][31]所在的主存块对应的Cache行号为(320+31*4)/=6;a[1][1]所在的主存块对应的Cache行号为(320+ 256*4+1*4)/%8=5。 (3)数组a的大小为256*256*4B=218B,占用218/=212个主存块,按行优先存放,程序A逐行访问数组a,共需访问的次数为216次,每个字块的第一个数未面中,因此未面中次数为212次,程序A的数据访问命中率为(216-212)/216*100%=93.75%;Cache总容量为B*8=512B,数组a一行的大小为1KB正好是Cache容量的2倍,可知不同行的同一列数组元素使用的是同一个Cache单元,而程序B逐列访问数组a的数据时,都会将之前的字块置换出,也即每次访问都不会面中,故程序B的数据访问命中率是0,因此程序A的执行过程更短。 000B 001B 寄存器直接 寄存器间接 Rn (Rn) 45.(7分)假设计算机系统采用CSCAN(循环扫描)磁盘调度策略。使用2KB的内存空间记录16384个磁盘块的空闲状态。 (1)请说明在上述条件下如何进行磁盘空闲状态的管理。 (2)设某单面磁盘旋转速度为每分钟6000转,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需要读取1个随机分布的扇区,则读完这4个扇区总共需要多少时间?要求给出计算过程。 (3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。 解: (1)采用位示图法管理磁盘空闲块,每一位表示一个磁盘块的状态,共需要16384/32=512 个字节即2KB的空间,正好可放在系统提供的内存中。 (2)采用CSCAN调度算法,访问磁道的顺序和移动的磁道数如下表所示: 故移动的磁道数为20+90+20+40=170,所花的时间为170ms。由于转速为6000r/min,则平均旋转延迟为5ms,总的旋转延迟时间为20ms,读取一个扇区的平均时间为0.1ms,故读取4个扇区所花的时间为0.4ms。综上所述,读取磁道上所有扇区所花的总时间为170+5*4+0.4=190.4ms。 (3)采用先来先服务(FCFS)调度策略更高效,因为Flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按I/O请求的先后顺序服务。 46.(8分)设某计算机的逻辑地址空间和物理地址空间均为KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(PageFrame)。在时刻260前的该进程访问情况如下表所示(访问位即使用位)。 页号 页框号 装入时刻 访问位 O 7 130 1 1 4 230 1 2 2 200 1 3 9 160 1 当该进程执行到时刻260时,要访问的逻辑地址为17CAH的数据,请回答下列问题: (1)该逻辑地址对应的页号是多少? (2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。 (3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,如图所示) 解: (1)由题可知计算机的逻辑地址空间和物理地址空间均为KB=216B,按字节编址,并且页的大小为1K=210,故逻辑地址和物理地址的地址格式均为: 页号/页框号(6bit) 页内偏移量(10bit) 地址17CA=0001 0111 1100 1010B,故可知其逻辑页号为000101B=5。 (2)根据FIFO算法,需要替换出最早装入的页,故需置换0号页,将5号页装入7号页框中,所以物理地址为0001 1111 1100 1010B=1FCAH。 (3)根据CLOCK算法,如果当前指针所指页框的使用位为0,则替换该页,否则将使用位清零,并将指针指向下一个页框,继续查找。由题可知,将从2号页框开始,前4次查找页框号的顺序为2、4、7、9,并将对应页框的使用位清零。在第5次查找中,指针指向2号页框,因2号页框的使用位已经为0,故将2号页框的页将5号装入2号页框,并将其对应使用位设置为1,所以对应的物理地址为0000 1011 1100 1010B=0BCAH。 47.(9分)某局域网采用CSMA/CD协议实现介质访问控制,数据传输率为10Mbps,主机甲和主机乙之间的距离为2km,信号传播速度是200000km/s。请回答下列问题,要求说明理由或写出计算过程。 (1)若主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间?(假设主机甲和主机乙发送数据过程中,其他主机不发送数据) (2)若网络不存在任何冲突与差错,主机甲总是以标准的最长以太网数据帧(1518字节)向主机乙发送数据,主机乙每成功收到一个数据帧后立即向主机甲发送一个字节的确认帧,主机甲收到确认帧后方可发送下一个数据帧,此时主机甲的有效数据传输速率是多少?(不考虑以太网帧的前导码) 解:(1)当甲乙两台主机同时向对方发送数据时,两台主机均检测到冲突的时间最短:Tmin= (1km/200000km/s)×2=10μs;当一台主机发送的数据就要到达另一台主机时,另一台主机才发送数据,两台主机均检测到冲突的时间最长:Tmin=(2km/200000km/s)×2=20μs (2)有效数据传输速率=发送的有效数据/发送有效数据所用的总时间。发送的有效数据=l500B=1500×8bit=12000bit;发送l518B的发送时间=l518×8/10Mbps=1214.4μs;数据帧的传播时间=2km/200000km/s=10μs;确认帧的发送时间=×8/10Mbps=51.2μs ;确认帧的传播时间= 2km/200000km/s=10μs ;发送l518B所用的总时间为1214.4μs+10μs+10μs+51.2μs=1285.6μs主机甲的有效数据传输率为l2000bit/1285.6μs=9.33Mbps。 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 一、单项选择题:1~40小题,每小题2分,共80分。下列每题给出的四个选项中。只有一个选项是最符合题目要求的。 1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。 A.栈 B.队列 C.树 D.图 2.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )。 A.1 B.2 C.3 D.4 3.给定二叉树如下图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列为3,1,7,5,6,2,4,则其遍历方式是( )。 A.LRN B.NRL C.RLN D.RNL 4.下列二叉排序树中,满足平衡二叉树定义的是( )。 5.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。 A.39 B.52 C.111 D.119 6.将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是( )。 Ⅰ.父子关系 Ⅱ.兄弟关系 Ⅲ.u的父结点与v的父结点是兄弟关系 A.只有Ⅰ B.Ⅰ和Ⅱ C.Ⅰ和Ⅲ D.Ⅰ、Ⅱ和Ⅲ 7.下列关于无向连通图特性的叙述中,正确的是( )。 Ⅰ.所有的顶点的度之和为偶数 Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ 8.下列叙述中,不符合m阶B树定义要求的是( )。 A.根结点最多有m棵子树 B.所有叶结点都在同一层上 C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接 9.已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是( )。 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.起泡排序 B.插入排序 C.选择排序 D.二路归并排序 11.冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是( )。 A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段 D.指令和数据所在的存储单元 12.一个C语言程序在一台32位机器上运行。程序中定义了3个变量x、Y和z,其中x和z为int型,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的最终结果是( )。 D.发生溢出 14.某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是( )。 A.0 B.2 C.4 D.6 15.某计算机主存容量为 KB,其中ROM区为4 KB,其余为RAM区,按字节编址。现要用2 K×8位的ROM芯片和4 K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是( )。 A.1、15 B.2、15 C.1、30 D.2、30 16.某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第1字节为操作码字段,第2字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是( )。 A.2006H B.2007H C.2008H D.2009H 17.下列关于RISC的叙述中,错误的是( )。 A.RISC普遍采用微程序控制器 B.RISC大多数指令在一个时钟周期内完成 C.RISC的内部通用寄存器数量相对CISC多 D.RISC的指令数、寻址方式和指令格式种类相对CISC少 18.某计算机的指令流水线由4个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是( )。 A.90ns B.80ns C.70ns D.60ns 19.相对于微程序控制器,硬布线控制器的特点是( )。 A.指令执行速度慢,指令功能的修改和扩展容易 B.指令执行速度慢,指令功能的修改和扩展难 C.指令执行速度快,指令功能的修改和扩展容易 D.指令执行速度快,指令功能的修改和扩展难 20.假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是( )。 A.10MB/s B.20MB/s C.40MB/s D.80MB/s 21.假设某计算机的存储系统由Cache和主存组成。某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是( )。 A.5% B.9.5% C.50% D.95% 22.下列选项中,能引起外部中断的事件是( )。 A.键盘输入 B.除数为0 C.浮点运算下溢 D.访存缺页 23.单处理机系统中,可并行的是( )。 Ⅰ.进程与进程 Ⅱ.处理机与设备 Ⅲ.处理机与通道 Ⅳ.设备与设备 A.Ⅰ、Ⅱ和Ⅲ B.Ⅰ、Ⅱ和Ⅳ C.Ⅰ、Ⅲ和Ⅳ D.Ⅱ、Ⅲ和Ⅳ 24.下列进程调度算法中,综合考虑进程等待时间和执行时间的是( )。 A.时间片轮转调度算法 B.短进程优先调度算法 C.先来先服务调度算法 D.高响应比优先调度算法 25.某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K最小值是( )。 A.2 B.3 C.4 D.5 26.分区分配内存管理方式的主要保护措施是( )。 A.界地址保护 B.程序代码保护 C.数据保护 D.栈保护 27.一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是( )。 A.28字节 B.216字节 24 C.2字节 D.232字节 28.下列文件物理结构中,适合随机访问且易于文件扩展的是( )。 A.连续结构 B.索引结构 C.链式结构且磁盘块定长 D.链式结构且磁盘块变长 29.假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求,序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是( )。 A.110,170,180,195,68,45,35,12 B.110,68,45,35,12,170,180,195 C.110,170,180,195,12,35,45,68 D.12,31,45,68,110,170,180,195 30.文件系统中,文件访问控制信息存储的合理位置是( )。 A.文件控制块 B.文件分配表 C.用户口令表 D.系统注册表 31.设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是( )。 A.0、1 B.1、1 C.1、2 D.2、1 32.程序员利用系统调用打开I/O设备时,通常使用的设备标识是( )。 A.逻辑设备名 B.物理设备名 C.主设备号 D.从设备号 33.在OSI参考模型中,自下而上第一个提供端到端服务的层次是( )。 A.数据链路层 B.传输层 C.会话层 D.应用层 34.在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是( )。 A.12 kbps B.24 kbps C.48 kbps D.96 kbps 35.数据链路层采用后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( )。 A.2 B.3 C.4 D.5 36.以太网交换机进行转发决策时使用的PDU地址是( )。 A.目的物理地址 B.目的IP地址 C.源物理地址 D.源IP地址 37.在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1 Gbps,电缆中的信号传播速度是200000km/s。若最小数据帧长度减少800bit,则最远的两个站点之间的距离至少需要( )。 A.增加160m B.增加80m C.减少160m D.减少80m 38.主机甲和主机乙间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是( )。 A.500 B.700 C.800 D.1000 39.一个TCP连接总是以1KB的最大段发送TCP段,发送方有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)时间内的TCP段的传输都是成功的,那么当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是( )。 A.7KB B.8KB C.9KB D.16KB 40.FTP客户和服务器间传递FTP命令时,使用的连接是( )。 A.建立在TCP之上的控制连接 B.建立在TCP之上的数据连接 C.建立在UDP之上的控制连接 D.建立在UDP之上的数据连接 二、综合应用题:41~47小题。共70分。 41.(10分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径,假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法: ①该最短路径初始时仅包含初始顶点,令当前顶点为初始顶点; ②选择离υ最近且尚未在最短路径中的顶点ν,加入到最短路径中,修改当前顶点υ=ν; ③重复步骤②,直到υ是目标顶点时为止。请问上述方法能否求得最短路径?若该方法可行,请证明之;否则请举例说明。 42.(15分)已知一个带有表头结点的单链表,结点结构为,假设该链表只给出了头指针1ist。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求: (1)描述算法的基本设计思想; (2)描述算法的详细实现步骤; (3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C++或JAVA语言实现),关键之处请给出简要注释。 43.(8分)某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需要5个时钟周期)。假定某外设的数据传输率为0.5 MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含1指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。 (1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少? (2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突) 44.(13分)某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效,为0时表示无效,例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+((R1))一(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。 下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。 时钟 功能 有效控制信号 C1 MAR←(PC) PCout,MARin MDR←M(MAR)PC←(PC)C2 MemR,MDRinEPC+1 +1 C3 IR←(MDR) MDROut,IRin C4 指令译码 无 45.(7分)三个进程P1、P2,P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven ()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。要求用伪代码描述。 46.(8分)请求分页管理系统中,假设某进程的页表内容如下表所示: 页框(Page Frame)页号 有效位(存在位) 号 O 101H 1 1 0 2 254H 1 页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设①TLB初始为空;②地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、1565H、25A5H,请问: (1)依次访问上述三个虚地址,各需多少时间?给出计算过程。 (2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由。 47.(9分)某公司网络拓扑图如下图所示,路由器R1通过接口E1、E2分别连接局域网1、局域网2,通过接口10连接路由器R2,并通过路由器R2连接域名服务器与互联网。R1的1O接口的IP地址是202.118.2.1;R2的10接口的IP地址是202.118.2.2,11接口的IP地址是130.11.120.1,E0接口的IP地址是202.118.3.1;域名服务器的IP地址是202.118.3.2。 R1和R2的路由表结构为: (1)将IP地址空间202.118.1.0/24划分为两个子网,分配给局域网1、局域网2,每个局域网分配的地址数不少于120个,请给出子网划分结果。说明理由或给出必要的计算过程。 (2)请给出R1的路由表,使其明确包括到局域网1的路由、局域网2的路由、域名服务器的主机路由和互联网的路由。 (3)请采用路由聚合技术,给出R2到局域网1和局域网2的路由。 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 一、单项选择题:1~40小题,每小题2分,共80分。下列每题给出的四个选项中。只有一个选项是最符合题目要求的。 1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。 A.栈 B.队列 C.树 D.图 【答案】B 【解析】这类问题一般都先分析题目中的数据具有什么操作特性或是结构特性比如“先进后出”、“先进先出”等再判断其逻辑结构。栈和队列是操作受限的线性表,栈具有先进后出的特性而队列具有先进先出的特性。由于本题中先进入打印数据缓冲区的文件先被打印,因此打印数据缓冲区具有先进先出性,则它的逻辑结构应该是队列。 2.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )。 A.1 B.2 C.3 D.4 【答案】C 【解析】由于栈具有先进后出的特性,队列具有先进先出的特性,出队顺序即为人队顺序。在本题中,每个元素出栈S后立即进入队列Q,出栈顺序即为入队顺序,所以本题中队列的作用形同虚设,根据题意出队顺序即为出栈顺序。根据出栈顺序可以分析各个元素进出栈的过程:第一个出栈元素为b,表明栈内还有元素a,b出栈前的深度为2;第二个出栈元素为d,栈内元素为a和c,d出栈前的深度为3;c出栈后,剩余元素为a,c出栈前的深度为2;f出栈后,剩余元素为a和e,f出栈前的深度为3;e出栈后,剩余元素为a,e出栈前的深度为2;a出栈后,无剩余元素,a出栈前的深度为1;g出栈后,无剩余元素,g出栈前的深度为1。所以栈容量至少是3。 3.给定二叉树如下图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列为3,1,7,5,6,2,4,则其遍历方式是( )。 A.LRN B.NRL C.RLN D.RNL 【答案】D 【解析】对“二叉树”而言,一般有三条搜索路径: ①先上后下的按层次遍历; ②先左(子树)后右(子树)的遍历; ③先右(子树)后左(子树)的遍历。 其中第1种搜索路径方式就是常见的层次遍历,第2种搜索路径方式包括常见的先序遍历NLR、中序遍历LNR、后序遍历LRN,第3种搜索路径方式则是不常使用的NRL、RNL、RLN。本题考查的是第3种搜索路径方式的一种情况。根据遍历的序列以及树的结构图,可以分析出该遍历的顺序是先右子树再跟结点最后左子树,故答案为D。 4.下列二叉排序树中,满足平衡二叉树定义的是( )。 【答案】B 【解析】平衡二叉树是指左右子树高度差(平衡因子)的绝对值不超过1的二叉树。A项中根结点的平衡因子是2;B项中每个结点的平衡因子的绝对值均不超过1;C项中根结点的平衡因子是-2;D项中根结点的平衡因子是3。 5.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。 A.39 B.52 C.111 D.119 【答案】C 【解析】完全二叉树的一个特点是:叶子结点只能出现在最下层和次下层。题目中没有说明完全二叉树的高度,首先由完全二叉树的特点确定题目中树的高度。根据题意,一棵完全二叉树的第6层(设根为第1层)有8个叶结点,可知此二叉树的高度是6或7。题目中求二叉树的结点数最多的情况,因此此完全二叉树的高度为7。由于高度为7的完全二叉树的前6层是一棵满二叉树,根据二叉树的性质2 6 可知,高度为6的满二叉树的结点数是2-1=63。又根据二叉树的性质1可知,题目中二叉树的第6层结点数是25=32个结点,已知有8个叶子结点,那么其余32-8=24个结点均为分支结点,这些结点在第7层上最多有48个子结点(即叶子结点)。所以此二叉树的结点数最多可达26-1+(25-8)×2=111。 6.将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是( )。 Ⅰ.父子关系 Ⅱ.兄弟关系 Ⅲ.u的父结点与v的父结点是兄弟关系 A.只有Ⅰ B.Ⅰ和Ⅱ C.Ⅰ和Ⅲ D.Ⅰ、Ⅱ和Ⅲ 【答案】B 【解析】首先,在二叉树中,若结点u是结点v的父结点的父结点,那么u和v的关系有如下4种情况: 接下来,根据森林与二叉树的转换规则,将这4种情况还原成森林中结点的关系。其中: 情况(1),在原来的森林中u是v的父结点的父结点; 情况(2),在森林中u是v的父结点; 情况(3),在森林中u是v的父结点的兄弟; 情况(4),在森林中u与v是兄弟关系。 由此可知,题目中的Ⅰ、Ⅱ是正确的。 7.下列关于无向连通图特性的叙述中,正确的是( )。 Ⅰ.所有的顶点的度之和为偶数 Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ 【答案】A 【解析】在图中,顶点的度TD(Vi)之和与边的数目满足关系式: TD(V)=2e(n为图的总结 nii1点数,e为总边数),因此,Ⅰ项正确。对于Ⅱ、Ⅲ项中的特性不是一般无向连通图的特性,可以轻松地举出反例。“至少有一个顶点的度为1”的反例如下图(1)所示,“边数大于顶点个数减1”的反例如下图(2)所示。 (1) (2) 8.下列叙述中,不符合m阶B树定义要求的是( )。 A.根结点最多有m棵子树 B.所有叶结点都在同一层上 C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接 【答案】D 【解析】B树就是指B-树。根据B-树的定义,m阶B-树中每个结点最多有m个分支,因此,根结点最多有m棵子树,A项正确;B-树中所有叶结点都在最底层,位于同一层,B项正确;结点内各关键字互不相等且有序排列,C项正确。但是,所有叶子结点之间通过指针链接,是B+树的定义,而B-树中没有。因此,D项是错误的。 9.已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是( )。 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 【答案】A 【解析】在堆中插入或删除一个元素后,将不再满足堆的性质。为了使其成为新堆,在输出堆顶元素后,需要调整剩余元素。具体过程如图(1)~(5)所示,(1)为原堆,(2)为插入3后,(3)、(4)为调整过程,(5)为调整后的小根堆。 10.若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )。 A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序 【答案】B 【解析】经过两趟排序后,A项起泡排序的结果是两个最小或最大的元素放到了序列的最终位置;B项插入排序的结果是前三个数有序即可;C项选择排序结果是两个最小的元素在最前面按顺序排好;D项二路归并排序的结果是长度为4的子序列有序,即前4个数排好序,接下来的4个数排好序。显然题目中的元素序列只能是插入排序第二趟排序后的结果,因此,B项正确。 11.冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是( )。 A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段 D.指令和数据所在的存储单元 【答案】C 【解析】在冯·诺依曼结构计算机中指令和数据均以二进制形式存放在同一个存储器中,CPU可以根据指令周期的不同阶段来区分是指令还是数据,通常在取指阶段取出的是指令,其他阶段(分析取数阶段、执行阶段)取出的是数据。所以,CPU区分指令和数据的依据是指令周期的不同阶段。 12.一个C语言程序在一台32位机器上运行。程序中定义了3个变量x、Y和z,其中x和z为int型,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 【答案】D 【解析】当两个不同长度的数据,要想通过算术运算得到正确的结果,必须将短字长数据转换成长字长数据,这被称为“符号扩展”。例如,x和z为int型,数据长32位,Y为short型,数据长16位,因此首先应将y转换成32位的数据,然后再进行加法运算。 运算采用补码的形式,而x的补码是0000007FH,Y的补码是FFFFFFF7H,所以x+Y=00000076H 。 13.浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点加法计算X+Y的最终结果是( )。 D.发生溢出 【答案】D 【解析】浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤,难点在对阶、规格化、判溢出这三步。X和Y的阶码不同,所以应该先对阶,对阶原则为:小阶向大阶看齐。因此将Y对阶后得到:Y=27×5/32,然后将尾数相加,得到尾数之和为:34/32。因为这是两个同号数相加,尾数大于1,则需要右规,阶码加1。由于阶码的位数为5位,且含两位符号位,即阶码的表示范围在-8~+7之间。而阶码本身等于7,再加1就等于8。因此,最终结果发生溢出。 14.某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是( )。 A.0 B.2 C.4 D.6 【答案】C 【解析】首先根据主存地址计算所在的主存块号,然后根据组相联映射的映射关系K=I mod Q(K代表Cache的组号,I代表主存的块号,Q代表Cache的组数)来计算Cache的组号。由于每个主存块大小为32字节,按字节编址,那么主存129号单元所在的主存块号是4,Cache共有16块,采用2路组相联映射方式(即每组2块),故Cache有8组,按照上面的公式可以计算得到Cache的组号=4 mod 8=4。 15.某计算机主存容量为 KB,其中ROM区为4 KB,其余为RAM区,按字节编址。现要用2 K×8位的ROM芯片和4 K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是( )。 A.1、15 B.2、15 C.1、30 D.2、30 【答案】D 【解析】主存储器包括RAM和ROM两部分,由于ROM区为4KB,则RAM区为60KB。存储容量的扩展方法有字扩展、位扩展、字和位同时扩展三种。选用2K×8位的ROM芯片,只需采用2片芯片进行字扩 展便可得到4KB的ROM区;选用4K×4位的RAM芯片,需采用(60)/4*2片芯片进行字和位同时扩展便可得60KB的RAM区。 16.某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第1字节为操作码字段,第2字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是( )。 A.2006H B.2007H C.2008H D.2009H 【答案】C 【解析】相对寻址方式的有效地址EA=(PC)+D,其中PC为程序计数器,D为相对偏移量。主存按字节编址,取指令时,每取一个字节PC值自动加1。由于转移指令由两个字节组成,取出这条转移指令之后的PC值自动加2,为2002H,故转移的目标地址为2002H+06H=2008H。 17.下列关于RISC的叙述中,错误的是( )。 A.RISC普遍采用微程序控制器 B.RISC大多数指令在一个时钟周期内完成 C.RISC的内部通用寄存器数量相对CISC多 D.RISC的指令数、寻址方式和指令格式种类相对CISC少 【答案】A 【解析】B项、C项、D项都是RISC的特点之一,所以它们都是正确的,只有A项是CISC的特点,因为RISC的速度快,所以普遍采用硬布线控制器,而非微程序控制器。 18.某计算机的指令流水线由4个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是( )。 A.90ns B.80ns C.70ns D.60ns 【答案】A 【解析】对于各功能段执行时间不同的指令流水线,计算机的CPU时钟周期应当以最长的功能段执行时间为准。 19.相对于微程序控制器,硬布线控制器的特点是( )。 A.指令执行速度慢,指令功能的修改和扩展容易 B.指令执行速度慢,指令功能的修改和扩展难 C.指令执行速度快,指令功能的修改和扩展容易 D.指令执行速度快,指令功能的修改和扩展难 【答案】D 【解析】在同样的半导体工艺条件下,硬布线(组合逻辑)控制器的速度比微程序控制器的速度快。这是因为硬布线控制器的速度主要取决于逻辑电路的延迟,而微程序控制器增加了一级控制存储器,执行的每条微指令都要从控制存储器中读取,影响了速度。由于硬布线控制器一旦设计完成就很难改变,所以指令功能的修改和扩展难。因此,硬布线控制器的特点是指令执行速度快,指令功能的修改和扩展难。 20.假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是( )。 A.10MB/s B.20MB/s C.40MB/s D.80MB/s 【答案】B 【解析】因为一个总线周期占用2个时钟周期,完成一个32位数据的传送。总线时钟频率为10MHz,时钟周期为0.1μs,总线周期占用2个时钟周期,为0.2μs。一个总线周期中并行传输4字节信息,则总线带宽是4B÷0.2μs =20MB/s。 21.假设某计算机的存储系统由Cache和主存组成。某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是( )。 A.5% B.9.5% C.50% D.95% 【答案】D 【解析】Cache的命中率H=N1/(N1+N2),其中N1为访问Cache的次数,N2为访存主存的次数,程序总访存次数为N1+N2,程序访存次数减去失效次数就是访问Cache的次数N1,。所以根据公式可得:H=(1000-50)/1000=95%。 22.下列选项中,能引起外部中断的事件是( )。 A.键盘输入 B.除数为0 C.浮点运算下溢 D.访存缺页 【答案】A 【解析】所谓外部中断是指由外部事件引起的中断,在这4个选项中,只有键盘输入是真正由外部事件引起的中断。 23.单处理机系统中,可并行的是( )。 Ⅰ.进程与进程 Ⅱ.处理机与设备 Ⅲ.处理机与通道 Ⅳ.设备与设备 A.Ⅰ、Ⅱ和Ⅲ B.Ⅰ、Ⅱ和Ⅳ C.Ⅰ、Ⅲ和Ⅳ D.Ⅱ、Ⅲ和Ⅳ 【答案】D 【解析】注意区分并发和并行。在单处理机系统中,进程只能并发。微观上同一时刻占用处理机的进程只有一个,因此,进程之间不是并行的。通道是于CPU控制的输入/输出的设备,处理机与通道两者是可以并行。显然,设备和设备之间也是可以并行的。 24.下列进程调度算法中,综合考虑进程等待时间和执行时间的是( )。 A.时间片轮转调度算法 B.短进程优先调度算法 C.先来先服务调度算法 D.高响应比优先调度算法 【答案】D 【解析】时间片轮转法和先来先服务算法都是公平的方法,并未考虑进程等待时间和执行时间,而短进程优先考虑的是进程执行时间。最高响应比优先调度算法是最先执行响应比最高的进程(响应比=1+等待时间/估计运行时间)。该算法综合了先来先服务(FCFS)和短作业优先(SJF)算法,FCFS只考 虑每个作业的等待时间,而未考虑执行时间的长短。SJF只考虑执行时间的长短,而未考虑等待时间的长短,HRRN算法则同时考虑执行时间和等待时间。 25.某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K最小值是( )。 A.2 B.3 C.4 D.5 【答案】C 【解析】死锁的抽屉原理一般描述是:将5个苹果放进4个抽屉,那么,必然有1个抽屉中至少有2个苹果。计算机系统的资源分配充分体现了这一原理。考察进程运行的特点,只要有一个进程能够运行,则运行结束后必然会归还资源,其余的进程也就会得到满足从而可以执行(这里考虑的资源主要是可重用的资源,不可重用的资源会消失,就不可用上述方法分析)。所以最少需要4个进程竞争使用,每个进程占用2台打印机,此时会产生死锁。 26.分区分配内存管理方式的主要保护措施是( )。 A.界地址保护 B.程序代码保护 C.数据保护 D.栈保护 【答案】A 【解析】对于连续分配算法,无论固定分区或动态分区方法,程序都必须全部调入内存,不同的进程放于不同的内存块中,相互之间不可越界,因此需要进行界地址保护。通常的界地址保护方法采用软硬件结合的方法。考生要注意本题与虚拟存储方法的区别。 27.一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是( )。 A.28字节 B.216字节 C.224字节 32 D.2字节 【答案】C 【解析】段内位移的最大值就是最大段长。段号长度占了8位,剩下32-8=24位是段内位移空间,因此最大段长为224B。 28.下列文件物理结构中,适合随机访问且易于文件扩展的是( )。 A.连续结构 B.索引结构 C.链式结构且磁盘块定长 D.链式结构且磁盘块变长 【答案】B 【解析】连续结构的优点是结构简单,缺点是不易于文件扩展,不易随机访问。链式结构的优点是文件易于扩展,缺点是不易随机访问。索引结构的优点是具有链式结构的优点并克服了它的缺点,可随机存取,易于文件扩展。 29.假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求,序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是( )。 A.110,170,180,195,68,45,35,12 B.110,68,45,35,12,170,180,195 C.110,170,180,195,12,35,45,68 D.12,31,45,68,110,170,180,195 【答案】A 【解析】SCAN算法类似电梯工作原理,即朝一个固定方向前进,经过的磁道有访问请求则马上服务,直至到达一端顶点,再掉头往回移动以服务经过的磁道,并这样在两端之间往返。因此,当磁头从105道向序号增加的方向移动时,便会服务所有大于105的磁道号(从小到大的顺序);往回返时又会按照从大到小的顺序进行服务。注意与循环扫描算法的区别,所以SCAN算法的访问序列是:110,170,180,195,68,45,35,12。 30.文件系统中,文件访问控制信息存储的合理位置是( )。 A.文件控制块 B.文件分配表 C.用户口令表 D.系统注册表 【答案】A 【解析】文件控制块是文件存在的标志,文件的相关信息(基本信息、存取控制信息以及使用信息)都存储在文件控制块中,系统对文件的管理全是依靠文件控制块里的信息。 31.设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是( )。 A.0、1 B.1、1 C.1、2 D.2、1 【答案】B 【解析】为了使文件实现共享,通常在使用该形式文件系统的文件索引节点中设置一个链接计数字段,用来表示链接到本文件的用户目录项的数目(引用计数值),这是共享的一种方法。当新文件建立时,一般默认引用计数值为1。硬链接可以看作是已存在文件的另一个名字,新文件和被链接文件指向同一个节点,引用计数值加1。当删除被链接文件时,只是把引用计数值减1,直到引用计数值为0时,才能真正删除文件。软链接又叫符号链接,在新文件中只包含了被链接文件的路径名,新文件和被链接文件指向不同的节点。建立软链接文件时,文件的引用计数值不会增加。在这种方式下,当被链接文件删除时,新文件仍然是存在的,只不过是不能通过新文件的路径访问被链接文件而已。因此,在本题中,当建立F2时,F1和F2的引用计数值都为1。当再建立F3时,F1和F3的引用计数值就都变成了2。当后来删除F1时,F3的引用计数值为2-1=1。F2的引用计数值仍然保持不变,所以F2和F3的引用计数值分别是:1,1。 32.程序员利用系统调用打开I/O设备时,通常使用的设备标识是( )。 A.逻辑设备名 B.物理设备名 C.主设备号 D.从设备号 【答案】A 【解析】设备管理具有设备性的特点,操作系统以系统调用方式提供给应用程序使用逻辑设备名来请求使用某类设备时,调用中使用的是逻辑设备名,例如LPT1或COM1等。而操作系统内部管理设备使用的是设备编号。 33.在OSI参考模型中,自下而上第一个提供端到端服务的层次是( )。 A.数据链路层 B.传输层 C.会话层 D.应用层 【答案】B 【解析】题目中指明了这一层能够实现端到端传输,也就是端系统到端系统的传输,数据链路层主要负责传输路径上相邻结点间的数据交付,这些结点包括了交换机和路由器等数据通信设备,这些设备不能被称为端系统,因此数据链路层不满足题意。题目中指明了这一层能够实现传输,会话层只是在两个应用进程之间建立会话而已,应用层只是提供应用进程之间通信的规范,都不涉及传输。所以本题答案应该是B项。在OSI模型中网络层提供的是主机到主机的通信服务。 34.在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是( )。 A.12 kbps B.24 kbps C.48 kbps D.96 kbps 【答案】B 【解析】首先要根据信道有无噪声来确定是否采用奈奎斯特定理。解题难点在于离散数值的确定,先确定调制技术的码元数,此处为4个相位乘以4种振幅,共16种,即该通信链路的最大数据传输速率=2×3×㏒2(4×4)=6×4=24kbps。 35.数据链路层采用后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( )。 A.2 B.3 C.4 D.5 【答案】C 【解析】后退N帧协议,即GO-BACK—N策略的基本原理是,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。本题收到3号帧的确认,说明0,1,2,3号帧已经收到,丢失的是4,5,6,7号帧,共4帧。因此答案为C项。 36.以太网交换机进行转发决策时使用的PDU地址是( )。 A.目的物理地址 B.目的IP地址 C.源物理地址 D.源IP地址 【答案】A 【解析】交换机会监测发送到每个端口的数据帧,通过数据帧中的有关信息(源结点的MAC地址、目的结点的MAC地址),就会得到与每个端口所连接结点的MAC地址,并在交换机的内部建立一个“端口-MAC地址”映射表。建立映射表后,当某个端口接收到数据帧后,交换机会读取出该帧中的目的结点的MAC地址,并通过“端口-MAC地址”的对应关系,迅速将数据帧转发到相应的端口,注意这里的交换机工作在数据链路层,因此关于IP地址的选项是不对的,因此答案为A。 37.在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1 Gbps,电缆中的信号传播速度是200000km/s。若最小数据帧长度减少800bit,则最远的两个站点之间的距离至少需要( )。 A.增加160m B.增加80m C.减少160m D.减少80m 【答案】D 【解析】以太网采用CSMA/CD访问协议,在发送的同时要进行冲突检测,这就要求在能检测出冲突的最大时间内数据包不能够发送完毕,否则冲突检测不能有效地工作。所以,当发送的数据包太短时必须进行填充。最小帧长度=碰撞窗口大小×报文发送速率,本题最小数据帧长度减少800b,那么碰撞的窗口也要减少,因此距离也要减少,从而(800×2×108)/(1×109)=160m,由于时间延时存在两倍的关系,因此减少的距离为80m。 38.主机甲和主机乙间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是( )。 A.500 B.700 C.800 D.1000 【答案】D 【解析】TCP使用滑动窗口流控协议,窗口大小的单位是字节,本题中分别包含300字节和500字节的有效载荷,第一个段的序列号为200,那么确认序列号为200+300+500=1000。 39.一个TCP连接总是以1KB的最大段发送TCP段,发送方有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)时间内的TCP段的传输都是成功的,那么当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是( )。 A.7KB B.8KB C.9KB D.16KB 【答案】C 【解析】回顾TCP流量控制和拥塞控制(慢启动)的知识点,从第一个MSS开始,每次发送成功,拥塞窗口值翻倍,四次以后,应该为16,但是由于拥塞阈值变为16/2=8,故三次成功后为8,以后为线性增长,故为8+1=9,答案为C。 40.FTP客户和服务器间传递FTP命令时,使用的连接是( )。 A.建立在TCP之上的控制连接 B.建立在TCP之上的数据连接 C.建立在UDP之上的控制连接 D.建立在UDP之上的数据连接 【答案】A 【解析】对于FTP,为了保证可靠性,选择TCP。FTP应用需要建立两条TCP连接:一条为控制连接,另一条为数据连接。FTP服务器打开21号端口,被动的等待客户的连接建立请求。客户则以主动方式与服务器建立控制连接,客户通过控制连接将命令传给服务器,而服务器则通过控制连接将应答传给客户,命令和响应都是以NVTASCII形式表示的。 二、综合应用题:41~47小题。共70分。 41.(10分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径,假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法: ①该最短路径初始时仅包含初始顶点,令当前顶点为初始顶点; ②选择离υ最近且尚未在最短路径中的顶点ν,加入到最短路径中,修改当前顶点υ=ν; ③重复步骤②,直到υ是目标顶点时为止。请问上述方法能否求得最短路径?若该方法可行,请证明之;否则请举例说明。 解:题目中方法不一定能(或不能)求得最短路径。举例说明: 图(a)中,假设初始顶点1到目标顶点4之间有一条边,权值x=2。显然图(a)中这顶点1和顶点4之间的最短路径长度为2。若按照题目中给定的方法找到的路径为初始顶点1经过中间结点2、3到目标顶点4,即初始顶点1—2—3一目标顶点4,所经过的边的权值分别为y1=1、y2=1、y3=1。显然,y1+y2+y3=3大于2。因此按照题目中给定的方法所求得的路径并不是这两个顶点之间的最短路径。 图(b)中,假设初始顶点为1、目标顶点为4,欲求从顶点1到顶点4之间的最短路径。显然,按照题目中给定的方法无法求出顶点1到顶点4的路径,而事实上顶点1到顶点4的最短路径为1到4。 42.(15分)已知一个带有表头结点的单链表,结点结构为,假设该链表只给出了头指针1ist。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求: (1)描述算法的基本设计思想; (2)描述算法的详细实现步骤; (3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C++或JAVA语言实现),关键之处请给出简要注释。 解:(1)算法的基本设计思想定义两个指针变量p和q,初始时均指向头结点的下一个结点。p指针沿链表移动;当p指针移动到第k个结点时,q指针开始与p指针同步移动;当p指针移动到链表最后一个结点时,因为p和q相隔k,故q指针所指元素为倒数第k个结点。以上过程对链表仅进行一遍扫描。 (2)算法的详细实现步骤 ①count=0,p和q指向链表表头结点的下一个结点; ②若p为空,转⑤;, ③若count等于k,则q指向下一个结点;否则,count=count+1; ④p指向下一个结点,转步骤②; ⑤若count等于k,则查找成功,输出该结点的data域的值,返回1;否则,查找失败,返回0; ⑥算法结束。 (3)算法实现 43.(8分)某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需要5个时钟周期)。假定某外设的数据传输率为0.5 MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含1指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。 (1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少? (2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突) 解:(1)已知主频为500MHz,则时钟周期=1÷500MHz =2ns,因为CPI=5,所以每条指令平均5×2=10ns。又已知每中断一次传送32位(4个字节),数据传输率为0.5MB/s,所以传送时间=4÷O.5MB/s=8μs。CPU用于该外设I/O共需20条指令(中断服务程序包括1指令+其他开销折合2条指令),花费时间=20×10=200ns。CPU用于该外设I/O的时间占整个CPU时间的百分比=200/8000×100%=0.025×100%=2.5%。 (2)改用DMA方式传送数据,数据传输率为5MB/s,传送5000B的时间=5000B÷5MB/s=1ms。预处理和后处理的总开销时间=500×2ns=1μs。CPU用于该外设I/O时间占整个CPU时间的百分比=预处理和后处理的总开销时间÷传送数据的时间=1/1000×100%=0.001×100%=0.1%。 44.(13分)某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效,为0时表示无效,例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+((R1))一(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。 下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。 时钟 功能 有效控制信号 C1 MAR←(PC) PCout,MARin MDR←M(MAR)PC←(PC)C2 MemR,MDRinEPC+1 +1 C3 IR←(MDR) MDROut,IRin C4 指令译码 无 解:执行阶段每个节拍(时钟周期)的功能和有效控制信号见下表。 时钟 功能 有效控制信号 C5 MAR←(R1) R1out,MARin C6 MDR←M(MAR) MemR,MDRinE C7 A←(MDR) MDRout,Ain C8 AC←(Ro)+(A) Roout,Add,ACin C9 MDR←(AC) ACout,MDRin c10 M←(MDR) MDRoutE,MemW 45.(7分)三个进程P1、P2,P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。要求用伪代码描述。 解:定义信号量S1控制P1与P2之间的同步;S2控制P1与P3之间的同步;empty控制生产者与消费者之间的同步;mutex控制进程间互斥使用缓冲区,程序如下: 46.(8分)请求分页管理系统中,假设某进程的页表内容如下表所示: 页框(Page Frame)页号 有效位(存在位) 号 O 101H 1 1 0 2 254H 1 页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设①TLB初始为空;②地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、1565H、25A5H,请问: (1)依次访问上述三个虚地址,各需多少时间?给出计算过程。 (2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由。 解:(1)210ns;108ns;110ns。 页面大小为4KB,因此,虚地址的低12位是页内偏移,其余高位是页号。 访问虚地址2362H,虚页号为2,页内偏移362H。查找TLB,TLB初始为空,未命中,耗时10ns;访问页表,2号页面所在页框号为254H,耗时100ns;计算得到的物理地址254362H,访问内存,耗时100ns。因此,总共用时10+100+100=210ns。 访问虚地址1565H,虚页号为1,页内偏移565H。查找TLB,未命中,耗时10ns;访问页表,有效位是0,未命中,耗时100ns;产生缺页中断,进行缺页中断处理,耗时108ns;采用LRU置换算法,虚页 1装入页帧号101H,缺页中断处理完后,再次访问页表,命中,耗时100ns;计算得到物理地址101565H, 88 再次访问内存,耗时100ns。因此,总共用时10+100+10+100≈10ns。 访问虚地址25A5H,虚页号为2,页内偏移5A5H。查找TLB,命中,耗时10ns;虚页2对应的页帧为254H,因此计算得物理地址为2545A5H,访问内存,耗时100ns。因此,总共用时10+100=110ns。 (2)当访问虚地址1565H时,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H的对应的页框号为101H,故可知虚地址1565H的物理地址为101565H。 47.(9分)某公司网络拓扑图如下图所示,路由器R1通过接口E1、E2分别连接局域网1、局域网2,通过接口10连接路由器R2,并通过路由器R2连接域名服务器与互联网。R1的1O接口的IP地址是202.118.2.1;R2的10接口的IP地址是202.118.2.2,11接口的IP地址是130.11.120.1,E0接口的IP地址是202.118.3.1;域名服务器的IP地址是202.118.3.2。 R1和R2的路由表结构为: (1)将IP地址空间202.118.1.0/24划分为两个子网,分配给局域网1、局域网2,每个局域网分配的地址数不少于120个,请给出子网划分结果。说明理由或给出必要的计算过程。 (2)请给出R1的路由表,使其明确包括到局域网1的路由、局域网2的路由、域名服务器的主机路由和互联网的路由。 (3)请采用路由聚合技术,给出R2到局域网1和局域网2的路由。 解:(1)把IP地址空间202.118.1.0/24划分为2个等长的字网。两个局域网的IP地址数都不能少于120个,所以划分子网后,IP中主机所占的位数不能少于7位,要划分为两个子网又子少需要1位。可以将IP地址空间202.118.1.0/24的最后一个字节,划分为1位和7位两个部分,高一位表示子网号,低7位表示主机号,故划分结果为: ①子网1:子网地址为202.118.1.0,子网掩码为255.255.255.128(或者子网1:202.118.1.0/25)。 ②子网2:子网地址为202.118.1.128,子网掩码为255.255.255.128(或者子网1: 202.118.1.128/25)。地址分配方案:子网1分配给局域网1,子网2分配给局域网2;或子网1分配给局域网2,子网2分配给局域网1。每个子网可分配的地址数为27-2=126大于120满足题目要求。 (2)·填写到局域网1和局域网2的路由。两个局域网的网络地址和掩码在问题(1)已经求出来了,分别为202.118.1.0/25和202.118.1.128/25。则R1路由表应该填入的网络地址为202.118.1.0和202.118.1.128,掩码为255.255.255.128和255.255.255.0。由于两个局域网是分别直接连接到路由器R1的E1口、E2口上的,因此,下一跳地址填写直接路由(Direct)。接口填写E1、E2。 ·填写到域名服务器的路由。由于图6给出了域名服务器的IP地址为202.118.3.2,而该地址为主机地址,因此掩码为255.255.255.255。同时,路由器R1要到DNS服务器,就需要通过路由器R2的接口L0才能到达,因此下一跳地址填写L0的IP地址(202.118.2.2)。 ·填写互联网路由。本题的实质是编写默认路由,默认路由叫做“0/0”路由,因为路由的IP地址是0.0.0.0,而子网掩码也是0.0.0.0。同时路由器R1连接的网络需要通过路由器R2的L0口才能到达互联网络,因此下一跳地址填写L0的IP为202.118.2.2。 综合以上叙述,所填写的路由表如下表所示: 参一 (若子网1分配给局域网1。子网2分配给局域网2) 目的网络IP地址 子网掩码 下一跳IP地址 接口 202.118.1.0 255.255.255.128 Direct E1 202.118.1.128 255.255.255.128 Direct E2 202.118.3.2 255.255.255.255 202.118.2.2 10 0.0.0.0 0.0.0.0 202.118.2.2 1O 参二 (若子网1分配给局域网2,子网2分配给局域网1) 目的网络IP地址 子网掩码 下一跳IP地址 接口 202.118.1.0 255.255.255.128 Direct E2 202.118.1.128 255.255.255.128 Direct E1 202.118.3.2 255.255.255.255 202.118.2.2 10 0.0.0.0 0.0.0.0 202.118.2.2 10 (3) 填写R2到局域网1和局域网2的路由表2。局域网1和局域网2的地址可以聚合为202.118.1.0/24,而R2去往局域网1和局域网2都是同一条路径。因此,路由表里面只需要填写到202.118.1.0/24网络的路由即可,如下表所示: R2路由表 目的网络IP地址 子网掩码 下一跳IP地址 接口 202.118.1.0 255.255.255.0 202.118.2.1 10
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务