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

2018年太原理工大学计算机科学与技术学院、软件学院834数据结构和操作系统之数据结构考研仿真模拟五套题

  摘要

一、单项选择题

1. 下列关于虚拟存储的叙述中, 正确的是( )。

A. 虚拟存储只能基于连续分配技术

B. 虚拟存储只能基于非连续分配技术

C. 虚拟存储容量只受外存容量的限制

D. 虚拟存储容量只受内存容量的限制

【答案】D 。

【解析】所谓虚拟存储, 是指运行的进程不必全部装入内存, 只需要部分装入便可以开始运行的一种技术, 在运行过程中, 当所需要的代码部分不在内存时, 通过一种技术(例如缺页中断技术) , 将所需要的页面调入内存, 从而继续运行。虚拟存储可以在较少的内存中运行较大的程序。但是需要有较大的外存以及相应的软、硬件机制配合才能实现。虚拟存储器可以连续分配也可以非连续分配, 虚拟存储器和外存大小没有关系, 所以选项中的A , B , C 都是错误的, 所以答案是D 项。

2. 进程P0和P1的共享变量定义及若进程P0和P1访问临界资源的类C 伪代码实现如下:

则并发执行进程P0和PI 时产生的情况是( ).

A. 不能保证进程互斥进入临界区,会出现“饥饿”现象

B. 不能保证进程互斥进入临界区,不会出现“饥饿”现象

C. 能保证进程互斥进入临界区,会出现“饥饿”现象

D. 能保证进程互斥进入临界区,不会出现“饥饿”现象

【答案】D

【解析】这是皮特森算法(Peterson‟SAlgorithm)的实现,保证进入临界区的进程合理安全. 该算法为了防止两个进程为进入临界区而无限期等待,设置变量tum ,表示不允许进入临界区的编号,每个进程在先设置自己标志后再设置turn 标志,不允许另一个进程进入,这时,再同时检测另一个进程状态标志和不允许进入标志,这样可以保证当两个进程同时要求进入临界区时只允许一个进程进入临界区. 保存的是较晚的一次赋值,则较晚的进程等待,较早的进程进入. 先到先人,后到等待,从而完成临界区访问的要求.

3. 某计算机主频为1.2GHz , 其指令分为4类, 它们在基准程序中所占比例及CPI 如下表所示。

该机的MIPS 数是( )

A.100

B.200

C.400

D.600

【答案】C

【解析】基准程序的

。 , 为1200MHz , 该机器的MIPS 为计算机的主频为。

4. 现在有一颗无重复关键字的平衡二叉树(AVL 树) , 对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中, 正确的是( )。

A. 根节点的度一定为2

B. 树中最小元素一定是叶节点

C. 最后插入的元素一定是叶节点

D. 树中最大元素一定是无左子树

【答案】D

【解析】二叉树的中序遍历定义是“若二叉树为空, 则空操作; 否则:

①中序遍历左子树; ②访问根节点; ③中序遍历右子树”。

A 项错误, 当树中仅有一个或者两个结点时, 根节点的度就可能不为2; B 项错误, 树中最小元素是中序遍历时最后访问的节点, 当没有右子树时, 最后访问的节点是根节点; C 项错误, 当最后插入的元素破坏树的平衡后, 树会进行调整, 使其成为中间节点; D 项正确, 由中序遍历的特点可知,

左子树的值大于根节点, 所以最大元素一定没有左子树。

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

A. 先来先服务

B. 高响应比优先

C. 时间片轮转

D. 非抢占式短任务优先

【答案】B

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

6. 下列关于进程和线程的叙述中, 正确的是( )。

A. 不管系统是否支持线程, 进程都是资源分配的基本单位

B. 线程是资源分配的基本单位, 进程是调度的基本单位

C. 系统级线程和用户级线程的切换都需要内核的支持

D. 同一进程中的各个线程拥有各自不同的地址空间

【答案】A 。

【解析】利用排除法来确定正确答案:“线程是资源分配的基本单位, 进程是调度的基本单位”这句话说反了, 明显错误。“系统级线程和用户级线程的切换都需要内核的支持”也不正确, 因为用户级线程的切换由用户编写的RimtimeSystem 执行的, 内核并不感知。“同一进程中的各个线程拥有各自不同的地址空间”明显错误, 引入线程的目的就是为了同一进程的所有线程能共享进程的地址空间, 故“不管系统是否支持线程, 进程都是资源分配的基本单位”是正确的。

7. 一棵3阶B-树中含有2047个关键字,包括叶结点层,该树的最大深度为( )。

A.11

B.12

C.13

D.14

【答案】B