2009年408真题解析

2009年408真题解析

【2009.1】为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机++++将++++要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是。

A.栈

B.队列

C.树

D.图

【知识点】栈和队列特点及应用。

【答案】B

【解析】考查栈和队列特点及应用。缓冲区的特点要先进先出,队列符合。

【2009.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

【解析】栈先进后出,队列先进先出,则出栈顺序为 b,d,c,f,e,a,g,模拟过程,当 d 入栈后,栈内有 acd;f 入栈后,栈内有 aef;此时栈内元素为 3 个,则栈容量至少为 3。

【2009.3】给定二叉树如右图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列是3,1,7,5,6,2,4,则其遍历方式是。

A.LRN

B.NRL

C.RLN

D.RNL

【知识点】二叉树的特殊遍历。

【答案】D

【解析】结点的相对位置关系:3(N),1(L),7(R),5(L),6(R),2(L),4(R)。可以看出这是一个右子树优先的先序遍历,因此答案是:NRL(先访问根,然后右子树,最后左子树)

【2009.4】下列二叉排序树中,满足平衡二叉树定义的是。

【知识点】平衡二叉树。

【答案】B

【解析】平衡二叉树的定义:任意结点的左右子树高度差绝对值不超过 1。

A 中根左 2 右 0;C 中根左 1 右 3;D 中根左 4 右 1;皆不符合定义。

【2009.5】已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是。

A.39

B.52

C.111

D.119

【知识点】完全二叉树。

【答案】C

【解析】完全二叉树比满二叉树只是在最下面一层的右边缺少了部分叶结点,而最后一层之上是个满二叉树,并且只有最后两层有叶结点。

第 6 层有叶结点则完全二叉树的高度可能为 6 或 7,显然树高为 7 时结点更多。

如果前五层是满二叉树,那么第 6 层的叶子节点为 8 个,总节点数为 25-1+8=39 个结点。

若前六层为满二叉树,而第 7 层缺失了 8×2=16 个叶结点,故完全二叉树的结点个数最多为(27-1)-16=111个结点。

【注意】叶节点可能在最后一层,也可能在倒数第二层。正如完全二叉树的定义!

【2009.6】将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是。

I.父子关系

Ⅱ.兄弟关系

Ⅲ.u的父结点与v的父结点是兄弟关系

A.只有Ⅱ

B.I和Ⅱ

C.I和III

D.I、II和III

【知识点】森林和二叉树的转换。

【答案】B

【解析】在将森林转换为对应的二叉树时,具体的关系如下:结点u是结点v的父结点的父结点,表示u是v的祖父结点。
如果在二叉树中,结点u是结点v的父结点的父结点,那么在原来的森林中,u和v可能具有的关系是:
I. 父子关系(u是v的祖父结点,v是u的孙子结点)
Ⅱ. 兄弟关系(u和v的父结点是同一个结点,即u和v是兄弟)

【2009.7】下列关于无向连通图特性的叙述中,正确的是。

I.所有顶点的度之和为偶数

Ⅱ.边数大于顶点个数减1

Ⅲ.至少有一个顶点的度为1

A.只有I

B.只有Ⅱ

C.I和II

D.I和III

【知识点】无向连通图的特性。

【答案】A

【解析】I. 所有顶点的度之和为偶数。在无向图中,每条边都会贡献两个度,一个给边的一个端点,另一个给另一个端点。因此,所有顶点的度之和一定是偶数。

Ⅱ. 边数大于顶点个数减1。这是树的性质,而无向连通图中边数最少是n-1,其中n是顶点个数。如果边数不大于顶点个数减1,说明图中存在环,不是树。

Ⅲ. 至少有一个顶点的度为1。这是树的性质,树中除了叶子结点外,每个结点的度都至少为2。但在一般的无向图中,至少有一个顶点的度为1。

因此,正确答案是A。

【补充】无向图的度:一个顶点的度是与之相关联的边的数目。

树:无向无环图,且是连通图,顶点数为边数加1。

连通图:图中任意两个顶点都有路径相连。

【2009.8】下列叙述中,不符合m阶B树定义要求的是。

A.根结点最多有m棵子树

B.所有叶结点都在同一层上

C.各结点内关键字均升序或降序排列

D.叶结点之间通过指针链接

【知识点】m阶B树定义。

【答案】D

【解析】m阶B树的定义要求:

A. 根结点最多有m棵子树。这是B树的定义,确保树的平衡性。

B. 所有叶结点都在同一层上。这是B树的特性,使得查找效率更高。

C. 各结点内关键字均升序或降序排列。B树要求结点内的关键字有序排列,以便进行二分查找。

D. 叶结点之间通过指针链接。这是B+树的特点,将叶结点串联起来,方便范围查询。

所以,不符合m阶B树定义要求的是D,因为叶结点之间通过指针链接是B+树的特点,而非B树。

【补充】B树:用于数据库和文件系统中的数据结构,有助于提高查找效率。

B+树:在B树的基础上做了一些修改,将非叶结点仅用于索引,所有关键字都在叶子结点中出现,叶结点之间通过指针链接,提高范围查询的效率。

【2009.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

【解析】

插入关键字 3 时,先将其放在小顶堆的末端。共 k=9 个结点,从第 k/2 个结点开始调整堆,依次调整至根结点。调整后的小顶堆序列为 3,5,12,8,28,20,15,22,19。

①初始[5,8,12,19,28,20,15,22]; ②插入[5,8,12,19,28,20,15,22,3]; ③19,3 置换[5,8,12,3,28,20,15,22,19];

④3 和 8 置换[5,3,12,8,28,20,15,22,19];⑤3 和 5 置换[3,5,12,8,28,20,15,22,19]

【补充】小根堆的定义:每个节点的值都小于或等于其子节点的值。

堆的调整一般包括插入和删除操作,保持堆的性质。插入时需要向上调整,删除时需要向下调整。

【2009.10】若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是。

A.冒泡排序

B.插入排序

C.选择排序

D.二路归并排序

【知识点】排序算法特点。

【答案】B

【解析】A、C------冒泡排序和选择排序,每一趟过后都能确定一个元素的最终位置。序列中前两个元素 or 后两个元素均不是最值。

B------插入排序,每趟结束前面若干元素有序,符合。

D------二路归并排序,每一趟排序结束都可以得到若干有序子序列。序列中没有两两元素有序。

【2009.11】冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是。

A.指令操作码的译码结果

B.指令和数据的寻址方式

C.指令周期的不同阶段

D.指令和数据所在的存储单元

【知识点】指令执行过程。

【答案】C

【解析】在冯·诺依曼计算机体系结构中,指令和数据都以二进制形式存放在同一存储器中。CPU区分它们的依据主要是指令执行过程中的不同阶段。

指令执行过程包括取指令(Instruction Fetch)、译码(Decode)、执行(Execute)、访存(Memory Access)和写回(Write Back)等阶段。这些阶段组成了指令周期。

指令周期的不同阶段:在执行指令的过程中,不同阶段涉及不同的操作,取指令阶段主要涉及指令的获取,译码阶段对指令进行解释,执行阶段进行实际的计算或操作,访存阶段涉及内存的读写,写回阶段将结果写回寄存器。

因此,CPU通过指令周期的不同阶段来区分当前处理的是指令还是数据。选项C指出的指令周期的不同阶段是CPU区分指令和数据的主要依据。

【2009.12】一个C语言程序在一台32位机器上运行。程序中定义了三个变量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

【解析】int 为 32 位,short 为 16 位;数据在内存中为补码形式,x、y 机器数写为 0000007FH、FFF7H;

执行 z=x+y 时,将 short 类型强制转换为 int 型,在机器中通过符号位扩展实现,y 的符号位为 1,故在 y的前面添加 16 个 1,即可将强制转换为 int 型,其十六进制形式为 FFFFFFF7H;

然后执行加法,即 0000007EH+FFFFFFF7H=00000076H,其中最高位的进位 1 丢弃。故选 D。

【2009.13】浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。

若有两个数X=2⁷×29/32,Y=2⁵×5/8,则用浮点加法计算X+Y的最终结果是。

A.001111100010

B.001110100010

C.010000010001

D.发生溢出

【知识点】浮点加法运算。

【答案】D

【解析】对于浮点数的加法运算,需要将两个浮点数的阶码对齐,然后进行尾数的加法操作,并进行规格化、舍入和溢出判断等步骤。

给定的两个浮点数为:

X = 2^7 * 29/32

Y = 2^5 * 5/8

首先,将这两个数表示为浮点数的形式:

X = 2^7 * 29/32 = 2^7 * (29 * 2^-5) = 2^2 * 29

Y = 2^5 * 5/8 = 2^5 * (5 * 2^-3) = 2^2 * 5

现在,对阶码进行对齐:

X = 2^2 * 29

Y = 2^2 * 5

因为阶码对齐后相同,可以进行尾数的加法运算:

X + Y = 2^2 * 29 + 2^2 * 5 = 2^2 * (29 + 5) = 2^2 * 34

34的二进制表示为100010,但在7位的尾数中无法完整表示,因此需要进行舍入和规格化。这个结果无法用所提供的浮点数位数(7位)来表示,因此发生了溢出。

所以,最终结果是发生溢出(选项D)。

【2009.14】某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32B,按字节编址。主存129号单元所在主存块应装入到的Cache组号是。

A.0

B.1

C.4

D.6

【知识点】Cache与主存之间的映射模式。

【答案】C

【解析】由于 Cache 共有 16 块,采用 2 路组相联,因此共有 8 组,0,1,2,...,7。并且主存的某一字块按模 8 映像到 Cache 某组的任一字块中,即主存的第 0,8,16...字块可以映像到 Cache 第 0 组 2 个字块的任一字块中,而 129 号单元是位于第 4 块主存块中,因此将映射到 Cache 第 4 组 2 个字块的任一字块中。

【注意】由于在计算机系统结构中和计算机组成原理的某些教材中介绍的组相联跟此处的组相联并不相同,导致部分考生理解错题目。应以真题为准,以后再出现类似题目,应以此种解答为标准。

【2009.15】某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是。

A.1、15B.2、15C.1、30D.2、30

【知识点】存储器的拓展。

【答案】D

【解析】首先确定 ROM 的个数,ROM 区为 4KB,选用 2Kx8 的 ROM 芯片,需要(4Kx8)/(2Kx8)=2 片,采用字扩展方式;60KB 的 RAM 区,选用 4Kx4 的 RAM 芯片,需要(60Kx8)/(4Kx4)=30 片,采用字和位同时扩展方式。

【2009.16】某机器字长为16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一个字节为操作码字段,第二个字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是。

A.2006HB.2007HC.2008HD.2009H

【知识点】相对寻址

【答案】C

【解析】相对寻址 EA=(PC)+A,目标地址由两部分组成:操作码字段+相对位移量字段。转移指令由两个字节组成,每取一个字节 PC 自动加 1,取指令后 PC 值为 2002H,故 EA=(PC)+A=2002H+06H=2008H。

【补充】相对寻址:相对寻址是指指令中给出的地址是相对于某个基地址的偏移量。在本题中,相对位移量字段表示相对于当前指令地址的偏移。

PC自动增加:PC是程序计数器,用于存储下一条要执行的指令的地址。在每次取指令时,PC会自动增加,以指向下一条指令的地址。

指令格式:了解不同类型指令的格式对于计算机体系结构的学习很重要。在本题中,了解两字节指令的格式是关键的。

【2009.17】下列关于RISC的叙述中,错误的是。

A.RISC普遍采用微程序控制器

B.RISC大多数指令在一个时钟周期内完成

C.RISC的内部通用寄存器数量相对CISC多

D.RISC的指令数、寻址方式和指令格式种类相对CISC少

【知识点】RISC特性。

【答案】A

【解析】RISC(Reduced Instruction Set Computing)是一种计算机体系结构,其设计理念包括简化指令集、高效执行、采用硬布线控制等。选项A中的说法错误,因为RISC普遍采用硬布线控制,而不是微程序控制。

其他选项的叙述是正确的:

B. RISC大多数指令在一个时钟周期内完成。这是因为RISC体系结构的指令通常设计得简单而短小,可以在一个时钟周期内执行完毕。

C. RISC的内部通用寄存器数量相对CISC多。RISC架构通常具有更多的寄存器,以提高程序执行效率。

D. RISC的指令数、寻址方式和指令格式种类相对CISC少。RISC采用精简的指令集,减少了指令的复杂性,使得指令的执行更加高效。

【补充】微程序控制:微程序是一种由一系列微操作组成的小程序,用于控制计算机的硬件。与之相对的是硬布线控制,其中控制逻辑通过硬件电路实现。

RISC和CISC:RISC和CISC(Complex Instruction Set Computing)是两种不同的计算机体系结构,分别强调了指令集的简化和复杂性。 RISC致力于简化指令集,使指令更加精简,而CISC则包含更复杂的指令集,其中的指令可能完成更多的操作。

【2009.18】某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90ns、80ns、70ns、和60ns,则该计算机的CPU时钟周期至少是。

A.90nsB.80nsC.70nsD.60ns.

【知识点】流水线中时钟周期的特性。

【答案】A

【解析】在流水线中,各个功能段的执行时间决定了流水线的时钟周期。时钟周期应以最长的执行时间为准,以确保所有功能段都能在一个时钟周期内完成。

给定的各功能段执行时间为90ns、80ns、70ns、和60ns,其中最长的执行时间是90ns。因此,该计算机的CPU时钟周期至少是90ns。

所以,正确的答案是A.90ns。

【补充】流水线是一种提高计算机指令执行速度的技术。它将处理过程分成多个阶段,使得多个指令可以在同一时间在不同的阶段执行,提高了指令的执行效率。

流水线中时钟周期的确定通常以最慢的功能段为基准,以确保所有的功能段都能在同一个时钟周期内完成。这也称为流水线的最大吞吐量。

【2009.19】相对于微程序控制器,硬布线控制器的特点是。

A.指令执行速度慢,指令功能的修改和扩展容易

B.指令执行速度慢,指令功能的修改和扩展难

C.指令执行速度快,指令功能的修改和扩展容易

D.指令执行速度快,指令功能的修改和扩展难

【知识点】硬布线控制器的特点。

【答案】D

【解析】硬布线控制器和微程序控制器是两种不同类型的控制器。

++++硬布线控制器++++ 是指在硬件电路级别实现控制逻辑的控制器,++++它的指令执行速度通常比微程序控制器快++++ ,因为指令的执行是直接通过硬件电路实现的。但是,对于硬布线控制器,++++修改和扩展指令功能是相对困难的++++ ,因为这需要对硬件电路进行修改。

微程序控制器使用一系列微指令来执行指令集,这些微指令被存储在内存中的微程序存储器中。它的++++指令执行速度相对较慢++++ ,因为需要解释和执行微指令序列。但是,微程序控制器的优势在于++++指令功能的修改和扩展相对容易++++ ,因为可以通过修改微指令的方式来改变指令功能。

【2009.20】假设某系统总线在一个总线周期中并行传输4B信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是。

A.10MB/s

B.20MB/s

C.40MB/s

D.80MB/s

【知识点】总线的基本概念

【答案】B

【解析】总线带宽计算公式:

++++总线带宽 = 总线周期内传输的数据量 × 时钟频率++++

根据题目提供的信息:

每个总线周期传输4B信息。

一个总线周期占用2个时钟周期。

总线时钟频率为10MHz。

首先,一个总线周期占用2个时钟周期,因此在一个总线周期内传输的数据量为4字节。

然后,总线时钟频率为10MHz,即每秒钟时钟发生10,000,000个脉冲。

因此,总线带宽为:4字节/周期 × 10,000,000周期/秒 = 40,000,000字节/秒 = 40MB/s。

所以,正确答案应该是B. 20MB/s。需要注意的是,总线周期内传输的数据量和总线时钟频率是关键参数,计算时要确保单位一致。

其他选项解析:

A. 10MB/s:这是将总线周期内传输的数据量(4字节)除以总线周期的时间,但是忽略了总线时钟频率的影响,计算不准确。

C. 40MB/s:这是将总线周期内传输的数据量(4字节)除以总线周期的时间,但计算时错误地将总线时钟频率乘以2,导致结果偏高。

D. 80MB/s:同样是基于错误的计算,将总线周期内传输的数据量(4字节)除以总线周期的时间,但错误地将总线时钟频率乘以4,导致结果偏高。

【补充】总线带宽的影响因素: 总线带宽受到总线宽度、总线周期、时钟频率等因素的影响。总线带宽的提高通常可以通过增加总线宽度或提高时钟频率来实现。

总线周期和时钟周期的关系: 总线周期是指总线上执行一个完整的读/写操作所需的时间,而时钟周期是CPU执行一个时钟脉冲所需的时间。它们之间的关系取决于总线的工作方式和性能。

【2009.21】假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是。

A.5%B.9.5%C.50%D.95%

【答案】D

【解析】命中率的计算公式:

命中率 = Cache命中次数 / 总访问次数

根据题目提供的信息:

访存总次数为1000次。

Cache未命中(未命中)的次数为50次。

所以,Cache命中次数 = 总访问次数 - Cache未命中次数 = 1000 - 50 = 950次。

命中率 = 950 / 1000 = 0.95 = 95%所以,正确答案是D. 95%。

【补充】Cache命中率的重要性: Cache命中率是衡量Cache性能的重要指标,高命中率通常表示Cache有效地提高了程序的执行速度。Cache未命中次数较低是优化计算机系统性能的目标之一。

Cache替换算法: 在Cache未命中的情况下,需要选择哪个数据块被替换。常见的替换算法有LRU(Least Recently Used,最近最少使用)、FIFO(First In, First Out,先进先出)等。

Cache层次结构: 计算机存储系统通常包括多个层次的Cache,如L1 Cache、L2 Cache等,每一级Cache都有自己的命中率和访问时间。

【2009.22】下列选项中,能引起外部中断的事件是。

A.键盘输入

B.除数为0

C.浮点运算下溢

D.访存缺页

【知识点】中断的分类

【答案】A

【解析】A. 键盘输入 - 键盘输入是一种典型的外部事件。当用户在键盘上输入时,计算机系统需要即时响应,因此会触发外部中断,中止当前执行的程序以处理键盘输入。

B. 除数为0 - 除数为0是一种算术异常,通常被认为是内部事件,而非外部中断。它触发的是异常中断,而非外部中断。

C. 浮点运算下溢 - 浮点运算下溢是一种异常情况,也被视为内部事件。当浮点运算的结果小于浮点数能表示的最小值时,会触发异常中断,而非外部中断。

D. 访存缺页 - 访存缺页是指程序尝试访问未加载到主存中的页面,属于内部事件,触发的是缺页中断,而非外部中断。

【补充】中断的分类: 中断分为外部中断和内部中断。外部中断由处理器外部的事件引起,例如键盘输入、定时器到时等。内部中断则由处理器内部的事件引起,例如算术异常、缺页异常等。

外部中断的应用: 外部中断常用于处理外部设备的输入,如键盘、鼠标等。它使计算机能够及时响应外部事件,提高系统的交互性和实时性。

异常处理: 除数为0、浮点运算下溢等异常通常由处理器内部的运算单元检测到,触发异常处理机制。异常处理是计算机系统中保证程序正确执行的重要机制之一。

【2009.23】单处理机系统中,可并行的是。

I进程与进程

II处理机与设备

III处理机与通道

IV设备与设备

A.I、II和III

B.I、II和IV

C.I、III和IV

D.II、III和IV

【知识点】并行性的限定。

【答案】D

【解析】在单处理机系统中,不同的任务或操作并不能真正地并行执行,因为只有一个处理器。但是,某些操作或任务可以在某种程度上并行进行,即它们可以同时开始或间隔进行,以优化整体性能。

I. 进程与进程:在单处理机系统中,两个或多个进程不能同时在处理器上执行,因为处理器一次只能处理一个进程。因此,I选项不正确。

II. 处理机与设备:处理机(或称为CPU)和设备(如磁盘、打印机等)可以并行工作。例如,当CPU执行计算任务时,硬盘可以同时读取或写入数据。因此,II是可并行的。

III. 处理机与通道:通道是用于连接处理机和设备的高速数据传输路径。处理机可以与通道并行工作,使数据在通道上传输时处理机可以执行其他任务。因此,III也是可并行的。

IV. 设备与设备:两个或多个设备(如两台磁盘驱动器)可以同时工作,例如,一个设备读取数据时,另一个设备可以写入数据。因此,IV也是可并行的。

综上所述,选项D(II、III和IV)是正确的,因为这三个选项都可以在单处理机系统中并行工作。而选项I不正确,因为在单处理机系统中,两个或多个进程不能同时在处理器上执行。

【补充】并行性:并行性是指两个或多个任务在同一时刻开始或执行的能力。在单处理机系统中,尽管真正的并行不可能,但通过合理的调度和资源管理,可以实现某种程度的并行性,从而提高系统的整体性能。

处理机与设备的并行性:当处理机执行计算任务时,可以与设备并行工作,例如,处理机可以同时读取一个文件,而磁盘驱动器则可以同时写入另一个文件。

通道的作用:通道是一种高速的数据传输路径,用于连接处理机和设备。通道可以提高数据传输的效率,并允许处理机和多个设备之间实现高效的并行通信。

【2009.24】下列进程调度算法中,综合考虑进程等待时间和执行时间的是。

A.时间片轮转调度算法

B.短进程优先调度算法

C.先来先服务调度算法

D.高响应比优先调度算法

【答案】D

【解析】高响应比优先调度算法是一种++++综合考虑等待时间和执行时间的算法++++ 。它根据进程的等待时间和执行时间的比例来决定优先级,以便尽量减少等待时间,提高响应速度。

不同的进程调度算法有不同的优先级判定方式,其中高响应比优先调度算法是一种综合考虑进程等待时间和执行时间的算法。

A. 时间片轮转调度算法:这种算法将CPU的使用权轮流分配给就绪队列中的进程,每个进程运行一个时间片。虽然轮转算法考虑了时间片,但并没有直接综合考虑等待时间和执行时间的比例,因此不符合题目描述。

B. 短进程优先调度算法:该算法选择剩余执行时间最短的进程来执行,以减少等待时间。虽然考虑了执行时间,但没有明确考虑等待时间,因此不符合题目描述。

C. 先来先服务调度算法:该算法按照进程到达的顺序进行调度,没有明确考虑等待时间和执行时间的比例,因此不符合题目描述。

D. 高响应比优先调度算法:这是一种综合考虑等待时间和执行时间的算法。它通过计算响应比(等待时间加1除以执行时间)来确定优先级,以最大程度地减少等待时间,提高系统的响应速度。因此,D是正确答案。

【补充】进程调度算法的选择取决于系统的性能目标和需求。高响应比优先调度算法是为了最大程度地减少等待时间,提高系统响应速度而设计的。

响应比的计算方式:响应比 = (等待时间 + 1) / 执行时间。其中,等待时间是指进程在就绪队列中等待的时间,执行时间是指进程执行所需的时间。

【2009.25】某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是。

A.2

B.3

C.4

D.5

【知识点】死锁的条件。

【答案】C

【解析】这种题用到组合数学中鸽巢原理的思想,考虑最极端情况,因为每个进程最多需要 3 台打印机,如果每个进

程已经占有了两个打印机,那么只要还有多的打印机,那么总能满足达到 3 台的条件,所以,将 8 台打印机分给 K 个进程,每个进程有 2 台打印机,这个情况就是极端情况,K 为 4。

【2009.26】分区分配内存管理方式的主要保护措施是。

A.界地址保护

B.程序代码保护

C.数据保护

D.栈保护

【知识点】分区分配存储管理方式的保护措施。

【答案】A

【解析】分区分配存储管理方式的保护措施是设置界地址寄存器。每个进程都有自己独立的进程空间,如果一个进程在运行时所产生的地址在其地址空间之外,则发生地址越界。

当程序要访问某个内存单元时,由硬件检查是否允许,如果允许则执行,否则产生地址越界中断,由操作系统进行相应处理。

【补充】内存保护:操作系统中的一个机制,对内存的存取权限进行管理。

内存保护主要目的:防止某个行程去存取不是操作系统配置给它的寻址空间。这个机制可以防止某个进程因为某些错误而影响到其他行程或是操作系统本身的运行。

分区分配: 是一种内存管理方式,将物理内存划分成若干个固定大小的区域,每个区域用于存放一个程序或进程。

界地址保护:是分区分配中的一项重要保护措施。界限寄存器存储了每个分区的界限地址,程序在运行时不能越过这个边界,确保程序只能访问分配给它的内存空间。

程序代码保护和数据保护: 这两种保护措施更多地涉及到对程序执行和数据访问的权限控制,通常在操作系统和硬件层面实现。

栈保护:栈是用于存放函数调用信息和局部变量的一种数据结构,栈保护可以防止栈溢出攻击,提高系统的安全性。

【2009.27】一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是。

A.2⁸BB.2¹⁶BD.2³²B

【知识点】分段存储管理系统。

【答案】C

【解析】采用分段存储管理的系统中,段地址为 32 位二进制数,其中 8 位表示段号,则段内位移占用 32-8=24 位二

进制数,故最大段长为 224 字节。

【2009.28】下列文件物理结构中,++++适合随机访问且易于文件扩展++++的是。

A.连续结构

B.索引结构

C.链式结构且磁盘块定长

D.链式结构且磁盘块变长

【知识点】文件物理结构的特性。

【答案】B

【解析】适合++++随机访问且易于文件扩展++++ 的文件物理结构是++++索引结构++++ 。

【补充】在索引结构中,有一个索引区,每个记录都有一个索引项,索引项包含了记录的关键字和指向该记录在文件中存储位置的指针。这使得系统可以通过索引项直接访问记录,实现了随机访问。同时,索引的结构也使得文件的扩展相对容易,因为只需修改索引即可引入新的记录。

顺序分配支持随机访问,但不利于文件扩展。

隐式链接不能随机访问。显式链接中建立了文件分配表(FAT),可以通过 FAT 实现随机访问。

索引结构既支持随机访问,又易于文件扩展。

【2009.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,35,45,68,110,170,180,195

【知识点】磁盘的调度算法

【答案】A

【解析】类似于电梯调度的思想。在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象,当前磁头在 105,所以下一个访问 110,然后继续向同一方向移动并沿路访问请求,当移动到尽头后反向继续访问请求。所以一开始是 110,170,180,195。等走到尽头后,反过来就是依次访问 68,45,35,12。

SCAN 是双向(电梯),CSCAN 单向。

【2009.30】文件系统中,文件访问控制信息存储的合理位置是。

A.文件控制块

B.文件分配表

C.用户口令表

D.系统注册表

【知识点】文件控制块

【答案】A

【解析】文件访问控制信息在文件系统中通常存储于文件控制块(File Control Block,FCB)中。因此,正确答案是A.文件控制块。

A. 文件控制块: 文件控制块是文件系统中用于管理文件的元数据结构之一。它包含了有关文件的各种信息,包括文件的访问控制信息、文件所有者、文件权限等。因此,存储文件访问控制信息的合理位置是文件控制块。

B. 文件分配表: 文件分配表用于记录文件在磁盘上的分配情况,它主要与文件的物理存储有关,而非访问控制信息。

C. 用户口令表: 用户口令表通常包含用户账户信息和密码等,与文件的访问控制信息不直接相关。

D. 系统注册表: 系统注册表主要用于存储系统级别的配置信息,例如系统启动时需要加载的驱动程序等,与文件的详细访问控制信息无关。

【补充】

文件系统: 文件系统是计算机系统中用于组织和存储文件的一种机制。它定义了文件的命名规则、组织结构以及文件的元数据管理方式。

文件控制块(FCB): 文件控制块是文件系统中用于描述和管理文件属性的数据结构。每个文件都有一个对应的文件控制块,其中包含了文件的各种属性信息。

访问控制信息: 文件的访问控制信息包括了文件的权限、所有者、访问时间等,用于管理文件的访问权限和安全性。

【2009.31】设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是。

A.0、1B.1、1C.1、2D.2、1

【知识点】软/硬链接建立的属性。

【答案】A

【解析】符号链接(软链接): 软链接是一个指向目标文件的特殊文件。在创建软链接时,会创建一个新的文件(比如F2),其中包含原始文件(F1)的路径。软链接的引用计数不会影响原始文件。

硬链接: 硬链接是一个直接指向目标文件的链接,它们共享相同的 inode。当创建硬链接时,实际上是在文件系统中创建了一个新的目录项(比如F3),指向同一个 inode。硬链接的引用计数增加,指向同一个 inode 的硬链接数量会增加。

在这个题目中,首先创建了一个软链接文件F2,引用计数为1。接着创建了一个硬链接文件F3,引用计数也为1。删除原始文件F1,但由于硬链接和软链接分别是独立的文件,删除F1并不会影响F2的引用计数,但会影响F3的引用计数。因此,F2的引用计数为0,F3的引用计数为1。

选项A描述了这个过程的结果。

【补充】软链接和硬链接的区别:

软链接是一个指向目标文件的符号,类似于 Windows 系统中的快捷方式。软链接有自己的 inode,不共享文件内容,删除原始文件不影响软链接。

硬链接直接指向同一个 inode,共享相同的文件内容。删除原始文件对硬链接没有影响,因为它们共享相同的 inode。

引用计数:

引用计数是文件系统中用于跟踪文件被引用的次数的机制。当引用计数为0时,系统可以释放文件的存储空间。

硬链接的引用计数会增加,而软链接的引用计数不会影响原始文件。

【2009.32】程序员利用系统调用打开I/O设备时,通常使用的设备标识是。

A.逻辑设备名

B.物理设备名

C.主设备号

D.从设备号

【知识点】系统调用的设备标识。

【答案】A

【解析】逻辑设备名: 在访问I/O设备时,程序员通常使用逻辑设备名作为设备标识。逻辑设备名是抽象的、用户可读的设备标识,不涉及具体硬件的物理细节。

物理设备名: 物理设备名是与硬件直接相关的设备标识,通常由系统内核使用。程序员一般不直接使用物理设备名,因为这涉及到底层硬件的具体细节。

主设备号和从设备号: 主设备号用于标识设备类型,从设备号用于标识同一类型设备中的具体设备。这是系统内核用于管理设备的一种方式,而不是程序员在应用层直接使用的标识。

在程序员通过系统调用打开I/O设备时,使用的通常是逻辑设备名,因为它提供了一个抽象层,使得程序员可以更方便地访问设备而不用关心底层硬件的具体细节。

因此,选项A.逻辑设备名是正确的答案。

【补充】

系统调用: 程序员通过系统调用与操作系统进行交互,请求执行特定的操作。在访问I/O设备时,系统调用可以包括打开、关闭、读取和写入等操作。

逻辑设备名 vs. 物理设备名: 逻辑设备名提供了一个抽象层,使得应用程序更加灵活,不受硬件变化的影响。物理设备名直接与硬件相关,通常由操作系统内核使用。

【2009.33】在OSI参考模型中,++++自下而上第一个提供端到端服务++++的层次是。

A.数据链路层

B.传输层

C.会话层

D.应用层

【知识点】OSI模型传输层功能

【答案】B

【解析】在OSI参考模型中,自下而上第一个提供端到端服务的层次是:传输层

OSI(OpenSystemsInterconnection)参考模型是一个由国际标准化组织(ISO)定义的网络通信协议的框架,它划分为七个不同的层,每个层负责特定的功能,从物理连接到应用层。以下是OSI参考模型的七个层:

物理层(PhysicalLayer):

主要关注物理介质和传输比特流。

包括电缆、光缆、无线频谱等。

定义了电气、机械、功能和过程特性。

数据链路层(DataLinkLayer):

提供了可靠的点对点通信。

将物理层的比特流组织成帧。

负责错误检测和纠正,以及流控制。

网络层(NetworkLayer):

负责数据包的路由和转发。

处理不同网络之间的数据传输。

提供逻辑地址,例如IP地址。

传输层(TransportLayer):

提供端到端的通信,确保数据的可靠性和完整性。

处理流量控制和错误恢复。

主要有两个主要协议:TCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)。

会话层(SessionLayer):

管理不同应用程序之间的对话。

提供会话的建立、维护和结束。

处理同步和数据交换。

表示层(PresentationLayer):

处理数据的格式转换,确保一个系统的信息可以被另一个系统理解。

加密和解密数据,以确保安全传输。

处理数据的压缩和解压缩。

应用层(ApplicationLayer):

提供用户接口和网络服务。

包含各种应用程序,如电子邮件、文件传输协议(FTP)、远程登录(Telnet)等。

每个层都执行特定的功能,每个功能都与通信和网络连接的特定方面有关。通过这种层次化的结构,不同的厂商可以在每个层次上进行独立的开发和改进,而不影响其他层次的功能。

【2009.34】在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是。

A.12kbpsB.24kbpsC.48kbpsD.96kbps

【答案】B

【解析】

奈氏准则给出了理想低通信道的最高码元传输速率=2W Baud,其中W 为信道带宽,单位为 Hz;Baud 为波特,是码元传输速率的单位,1 波特为每秒传送 1 个码元。该通信链路的最高码元传输速率

=2×3k=6k(Baud)=6k(码元/秒)。

采用 4 个相位,每个相位具有 4 种振幅的 QAM 调制技术,可以表示出 4×4=16 种状态,采用二进制对这

16 种状态进行编码,需使用 4 个二进制位(log216=4),也就是 4bit,每个码元可以携带的信息量为 4bit。综合上所知,该通信链路的最大数据传输速率=6k(码元/秒)×4(bit/码元)=24kbit/s=24kbps。

【补充】带宽只有在奈氏准则和香农定理中单位是 HZ,其余都是 b/s。

奈氏准则适用于在理想低通(无噪声、带宽受限)条件下。香农定理适用于在带宽受限且有噪声的信道中。

奈氏准则的应用: 在通信系统设计中,奈氏准则常用于估计最大可支持的数据传输速率,帮助确定适当的调制方式和带宽分配。

QAM调制技术: QAM是一种灵活且广泛应用的调制技术,常用于数字通信系统中。它允许在有限带宽内传输多个比特,提高数据传输速率。

【2009.35】数据链路层采用后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是。

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

【知识点】后退 N 帧协议工作原理。

【答案】C

【解析】GBN 协议一般采用累积确认,在重传计时器超时时,只收到接收方针对 0、2、3 号帧的确认,表明接收方已经收到按序到达的 0~3 的帧,并针对 0~3 号帧给发送方依次发回了确认。4 号帧和后续的已发送的 5~7 号帧不管是否到达接收方,都会被发送方重传,也就是发送方会重传 4~7 号帧,共 4 个帧。

【补充】在后退 N 帧协议中,发送方可以连续发送若干个数据帧,如果收到接收方的确认帧则可以继续发送。若某个帧出错,接收方只是简单的丢弃该帧及其后所有的后续帧,在超时后重传这些帧。

累计确认:接收方对按序到达的最后一个分组发送确认,表明之前的分组均未出错。【2009.36】【2009.36】以太网交换机进行转发决策时使用的PDU地址是。

A.目的物理地址

B.目的IP地址

C.源物理地址

D.源IP地址

【知识点】交换机工作原理。

【答案】A

【解析】以太网交换机在进行转发决策时使用的是目的物理地址(Destination Physical Address)。以太网帧的帧头中包含目的物理地址,交换机通过查看帧头中的目的物理地址来确定应将帧转发到哪个端口。这是因为以太网交换机工作在数据链路层,使用物理地址来进行设备的唯一标识。

选项解析:

A. 目的物理地址:正确,交换机使用目的物理地址来进行转发决策。

B. 目的IP地址:错误,以太网交换机不直接使用目的IP地址进行转发决策。

C. 源物理地址:错误,源物理地址在转发决策中通常不直接使用。

D. 源IP地址:错误,以太网交换机主要关注目的物理地址而不是源IP地址。

【补充】

目的物理地址: 在以太网帧头中,目的物理地址是一个48位的MAC地址,用于唯一标识网络中的设备。

交换机转发决策: 交换机根据目的物理地址学习和过滤帧,将帧转发到与目标设备相连的端口,提高网络性能和安全性。

【2009.37】在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbps,电缆中的信号传播速度为200000km/s。若最小数据帧长度减少800bit,则最远的两个站点之间的距离至少需要。

A.增加160mB.增加80mC.减少160mD.减少80m

【知识点】CSMA/CD协议、数据帧长度和最大传输距离的关系。

【答案】D。

【解析】设最远两个站点之间的距离为 d,单位为 m;以太网的最小帧长为 Lmin,单位为 bit;

Lmin=数据传输速率×争用期(即往返时延),将题目所给的相关量的单位化为标准单位后代入该式为 Lmin=109×(d/2×108)×2,化简为 d=Lmin/10,很显然,若最小帧长 Lmin 减少 800 比特,最远的两个站点之间的距离 d 至少会减少 80m。

【补充】CSMA/CD协议: 用于共享介质的网络协议,通过监听传输介质、检测冲突并进行退避来协调站点的数据传输。

数据帧长度和传输距离: 数据帧长度的减小会导致传输时间的减小,进而影响最大传输距离。这是因为在CSMA/CD中,站点发送的数据帧越长,传输时间越长,冲突的可能性就越高,最大传输距离也就受到限制。

【2009.38】主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300B和500B的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是。

A.500B.700C.800D.1000

【知识点】TCP连接中的序列号和确认序列号的计算。

【答案】D

【解析】TCP(Transmission Control Protocol)是一种面向连接的协议,它使用序列号和确认序列号来确保可靠的数据传输。

假设主机甲发送两个TCP段,分别包含300B和500B的有效载荷,第一个段的序列号为200。在TCP中,确认序列号是指下一个期望接收的字节的序列号。因此,在这个情况下,主机乙接收到300B的数据后,期望接收下一个字节的序列号是500(200 + 300);接着,又接收到500B的数据,期望接收下一个字节的序列号是1000(500 + 500)。

所以,主机乙发送给主机甲的确认序列号是1000。

选项解析:

A. 500:错误,这是第一个TCP段的有效载荷大小,不是确认序列号。

B. 700:错误,计算有误,应为500 + 500 = 1000。

C. 800:错误,计算有误,应为500 + 500 = 1000。

D. 1000:正确,主机乙期望接收下一个字节的序列号是1000。

【补充】

TCP连接中的序列号: 用于标识每个发送的字节的位置,确保数据按正确的顺序到达。

TCP连接中的确认序列号: 表示期望接收的下一个字节的序列号。通过确认序列号,发送方可以知道接收方成功接收了哪些数据。

【2009.39】一个TCP连接总是以1KB的最大段长发送TCP段,发送方有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)时间内的TCP段的传输都是成功的,那么当第.4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是。

A.7KB

B.8KB

C.9KB

D.16KB

【知识点】TCP拥塞控制算法的相关知识。

【答案】C

【解析】根据题意,可画出 TCP 拥塞窗口在拥塞控制时的变化情况如下图所示

需要注意的是,由于题目未给定初始的"慢开始门限值",因此上图中第一个"慢开始"和"拥塞避免"算法的传输轮次只是我们假定的情况,这样做仅仅是为了帮助大家更好地回忆起 TCP 拥塞控制的特点。

题目给定当拥塞窗口达到 16KB 时出现超时,此时 TCP 的拥塞控制会进行以下工作:

(3)将"慢开始门限值"设置为出现超时时刻的"拥塞窗口值"的一半,也就是 16KB÷2=8KB;

(4)将"拥塞窗口值"设置为 1KB,重新开始"慢开始"算法。题目还给定超时后的 4 个 RTT(往返时间)时间内的 TCP 段的传输都是成功,也就是说超时后又进行了以下四个轮次的传输:

超时后第一个传输轮次:拥塞窗口值为 1KB,进行超时后第一个传输轮次,成功后拥塞窗口值增加到 2KB;超时后第二个传输轮次:拥塞窗口值为 2KB,进行超时后第二个传输轮次,成功后拥塞窗口值增加到 4KB;超时后第三个传输轮次:拥塞窗口值为 4KB,进行超时后第三个传输轮次,成功后拥塞窗口值增加到 8KB;超时后的第四个传输轮次:拥塞窗口值为 8KB,进行超时后的第四个传输轮次,成功后需要增加拥塞窗口的

值,由于已经达到"慢开始门限值",因此拥塞窗口的值线性加 1KB 变为 9KB,之后改用"拥塞避免"算法。综上所述,选项 C 正确。

【2009.40】FTP客户和服务器间传递FTP命令时,使用的连接是。

A.建立在TCP之上的控制连接

B.建立在TCP之上的数据连接

C.建立在UDP之上的控制连接

D.建立在UDP之上的数据连接

【知识点】FTP协议的特点。

【答案】A

【解析】文件传送协议 FTP 使用 TCP 可靠的运输服务。FTP 客户所发出的传送请求(命令),通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是数据连接。

FTP(FileTransferProtocol)客户端和服务器之间传递FTP命令时使用的连接是建立++++在TCP之上的控制连接++++ 。

FTP在两个端之间建立两种连接:控制连接和数据连接。控制连接用于传输命令和状态信息,而数据连接用于实际文件传输。控制连接是基于TCP(TransmissionControlProtocol)的,它负责处理身份验证、命令传输等。数据连接也可以是TCP连接(叫做主动模式)或者在一些情况下使用UDP(叫做被动模式),但控制连接始终是基于TCP的,因为它需要可靠的连接来传递命令和状态信息。

相关推荐
陈王卜9 分钟前
django+boostrap实现发布博客权限控制
java·前端·django
小码的头发丝、10 分钟前
Spring Boot 注解
java·spring boot
java亮小白199715 分钟前
Spring循环依赖如何解决的?
java·后端·spring
飞滕人生TYF21 分钟前
java Queue 详解
java·队列
VertexGeek26 分钟前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
石小石Orz26 分钟前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
武子康42 分钟前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康44 分钟前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
苏-言1 小时前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
界面开发小八哥1 小时前
更高效的Java 23开发,IntelliJ IDEA助力全面升级
java·开发语言·ide·intellij-idea·开发工具