当前位置:问答库>考研试题

2017年北京市数学与系统科学研究院408计算机学科专业基础综合之计算机组成原理考研导师圈点必考题汇编

  摘要

一、选择题

1. 用希尔排序方法对一个数据序列进行排序时,若第1趟排序结果为9, 1, 4, 13, 7, 8, 20, 23, 15,则该趟排序采用的增量(间隔)可能是( )

A.2

B.3

C.4

D.5

【答案】B

【解析】对于A , 增量为2, 那么9, 4, 7, 20,15是一组,而它们是无序的,所以A 错误对于C ,増量为4, 那么9, 7,15是一组,而它们是无序的,所以C 错误

对于D ,增量为5, 那么9, 8是一组,降序,1,20是一组,而它们是升序,所以D 也错误。对于B ,分为3组:9, 13, 20; 1,7, 23; 4, 8, 15都是升序有序,所以B 正确

2. 下列选项中,操作系统提供的给应用程序的接口是( )。

A. 系统调用

B. 中断

C. 库函数

D. 原语

【答案】A

【解析】操作系统提供给用户应用程序的接口只有两种:命令输入和系统调用。其中,命令输入又有不同的形式,例如常规的命令行、图形化人机交互接口(GUI )、自然命令用户接口(NUI )等,而系统调用中除了常规的一些传统的系统调用(例如read ( ))以外,还有经过扩展的

,以及包含在Lib 库中的各种封装好的过程调用(最终都是通过系统调复杂调用(例如多种API )

用陷入到操作系统中去的)等。

3. 下列关于中断I/O方式和DMA 方式比较的叙述中,错误的是( )

A. 中断I/O方式请求的是方式请求的是CPU 处理时间,DMA 方式请求的是总线使用权

B. 中断响应发生在一条指令执行结束后,中断响应发生在一条指令执行结束后,DMA 响应发生在一个总线事务完成后

C. 中断I/O方式下数据传送通过软件完成,方式下数据传送通过软件完成,DMA 方式下数据传送由硬件完成

D. 中断I/O方式适用于所有外部设备,方式适用于所有外部设备,DMA 方式仅适用于快速外部设备

【答案】D

【解析】中断处理方式:在I/O设备输入每个数据的过程中,由于无需CPU 干预,因而可使CPU 与I/O设备并行工作。仅当输完一个数据时,才需CPU 花费极短的时间去做些中断处理。因此中断申请使用的是CPU 处理时间,发生的时间是在一条指令执行结束之后,数据是在软件的控制下完成传送。而DMA 方式与之不同。DMA 方式:数据传输的基本单位是数据块,即在CPU 与I/O设备之间, 每次传送至少一个数据块,DMA 方式每次申请的是总线的使用权,所传送的数据是从设备直接送入内存的或者相反;仅在传送一个或多个数据块的开始和结束时,才需CPU 干预,整块数据的传送是在控制器的控制下完成的。答案D 的说法不正确。

4. 在一棵具有15个关键字的4阶B 树中,含关键字的结点数最多是( )

A.5

B.6

C.10

D.15

【答案】D

【解析】m 阶B 树非根结点含关键字个数

4阶B 树非根结点含关键字1〜3个,所以要使关键字结点数量最多,那么每个结点只有一个关键字,一共有15个关键字那么最多有15个含有关键字的结点

5. 下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。

A. 先来先服务

B. 高响应比优先

C. 时间片轮转

D. 非抢占式短任务优先

【答案】B

【解析】分析该题目可以看到,本题所提到的问题是涉及短任务调度也就是属于作业调度,因此首先排除时间片轮转算法;因为作业调度算法中没有时间片轮转的算法。其次,因为问题提到短任务,则先来先服务的算法也可以排除了,它与短任务无关。剩余高响应比优先算法和非抢占式短任务优先是哪一个? 我们可以通过分析得到,非抢占式短任务优先算法不能解决饥饿问题,因为当一个系统短任务源源不断到达是,长任务必然会得不到调度,产生饥饿。而解决此方法的最好方式就是采用计算响应比的方法,并以高响应比值优先调度。这样,无论短任务或长任务,均可以得到调度,而且,较短任务会得到优先的调度。故满足短任务优先且不会发生饥饿现象的调度算法只有尚响应比优先算法。

6. 某计算机存储器按字节编址,主存地址空间大小为64MB ,现用4Mx8位的RAM 芯片组成32MB 的主存储器,则存储器地址寄存器MAR 的位数至少是( )。

A.22位

B.23位

C.25位

D.26位

【答案】D

【解析】虽然实际的主存储器(RAM 区)只有32MB , 但不排除还有ROM 区,考虑到存储器扩展的需要,MAR 应保证能访问到整个主存地址空间。因为主存的地址空间大小为64MB ,所以MAR 的位数至少需要26位。

7. 在支持多线程的系统中,进程P 创建的若干个线程不能共享的是( )。

A. 进程P 的代码段

B. 进程P 中打开的文件

C. 进程P 的全局变量

D. 进程P 中某线程的栈指针

【答案】D

【解析】现代操作系统中,进程是资源分配的基本单位,线程是处理机调度的基本单位。因此,进程是线程运行的容器,本题中,进程的代码段,进程打开的文件,进程的全局变量等都是进程的资源,唯有进程中某线程的栈指针是属于线程的,那么,属于进程的资源可以共享,属于线程的栈是独享的,不能共享。

8. 下列选项中,导致创建新进程的操作是( )。

I. 用户登录成功

II. 设备分配

III. 启动程序执行

A. 仅I 和II

B. 仅II 和III

C. 仅I 和III

D.I 、II 和III

【答案】C

【解析】进程创建是需要填写PCB 表的,其中唯一不需要的是II 。考察一个进程创建的过程是这样的:当进程被创建,可以是用户创建,例如双击相关图标;也可以由父进程创建,例如lock ( )时,操作系统首先到PCB 表区搜索空闲的表格,若无则直接拒绝创建进程,若有则填

,许多操写PCB 表创建进程。通常填写PCB 表的过程有一段时间(主要涉及资源分配需要协调)

,也有的操作系统不设这个中间状态。此时操作系作系统为此设立了一个中间状态称为“初始化”

统填写进程ID 号、处理机参数、进程参数(状态、特权、优先级)、分配内存(若是虚拟存储就分配虚拟地址)、映射文件等,一切就绪,将控制权交给系统进行下一步调度。设备分配可能引起进程状态的改变,但不会创建新进程,用户登录成功和启动程序执行都会创建新的进程,所以本题答案为C 。