2018年太原理工大学软件学院834数据结构和操作系统之数据结构考研核心题库
● 摘要
一、单项选择题
1. 下列选项中, 不可能在用户态发生的事件是( )。
A. 系统调用
B. 外部中断
C. 进程切换
D. 缺页
【答案】C 。
【解析】我们在学习操作系统中知道, 任何一个进程在现代操作系统中为了共享和保护, 设定了用户态和内核态(可以通过设置软、硬件标志位来实现) , 在用户态运行用户的程序, 在内核运行系统的程序。所以, 从选项来看, 系统调用可以在任何态发生, 用户可以发起系统调用, 系统也可以; 外部中断是不可控的, 也会在任何时刻发生, 缺页的发生也是不可控的, 可以发生在用户代码之间; 而进程切换却不会在用户态发生。我们可以考虑一下情形, 进程切换是在什么时候发生的, 进程切换前必定运行的是进程调度, 只有进程调度选择了下一次被调度的进程, 进程切换才可以进行。进程调度是scheduler , 进程切换是dispather , 这体现了现代操作系统策略与机制分离的设计思想。所以, 进程切换必定不会在用户态发生(所谓发生指其起始的源头时刻) , 必定是在内核态(进程调度) 发生的。
2. 设系统缓冲区和用户工作均采单, 从外读入1个数据块到系统缓冲区的时间为100, 从系统缓冲区读入1个数据块到用户工作区的时间为5, 对用户工作区中的1个数据块行分析的时间为90(如下图所示) 。进程从外设读入并分析2个数据块的最短时间是( )
图
A.200
B.295
C.300
D.390
【答案】C
【解析】数据块1从外设到用户工作区的总时间为105, 在这段时间中数据块2没有进行操作。在数据块1进行分析处理时, 数据块2从外设到用户工作区的总时间为105, 这段时间是并行的。再加上数据块2进行处理的时间90, 总共是300, 故答案为C 。
3. 已知一棵有2011个结点的树, 其叶结点个数为116, 该树对应的二叉树中无右孩子的结点个数是( )。
A.115
B.116
C.1895
D.1896
【答案】D
【解析】每个非终端结点转换成二叉树后都对应一个无右孩子的结点(因为一个非终端结点至少有一个孩子结点, 其最右边的孩子结点转换成二叉树后一定没有右孩子) , 另外, 树根结点转换成二叉树后也没有右孩子。题目中树的总结点数是2011, 叶结点个数是116, 则非终端结点个数是2011-116=1895, 则该树对应的二叉树中无右孩子的结点个数是1895+1=1896。
4. 下列选项中,导致创建新进程的操作是( ).
(1)用户登录成功
(2)设备分配
(3)启动程序执行
A. 仅(1)和(2)
B. 仅(2)和(3)
C. 仅(1)和(3)
D. (1)、(2)和(3)
【答案】C
【解析】进程创建是需要填写PCB 表的,其中唯一不需要的是(2).考察一个进程创建的过程是这样的:当进程被创建,可以是用户创建,例如双击相关图标;也可以由父进程创建,例如lock ( )时,操作系统首先到PCB 表区搜索空闲的表格,若无则直接拒绝创建进程,若有则填写PCB 表创建进程. 通常填写PCB 表的过程有一段时间(主要涉及资源分配需要协调),许多操作系统为此设立了一个中间状态称为“初始化”,也有的操作系统不设这个中间状态. 此时操作系统填写进程ID 号、处理机参数、进程参数(状态、特权、优先级) 、分配内存(若是虚拟存储就分配虚拟地址) 、映射文件等,一切就绪,将控制权交给系统进行下一步调度. 设备分配可能引起进程状态的改变,但不会创建新进程,用户登录成功和启动程序执行都会创建新的进程,所以本题答案为C.
5. 对于100Mbps 的以太网交换机, 当输出端口无排队直通(
太网帧(不包括前导码) 时, 引入的转发延迟至少是( ) A. B. C. D.
【答案】B ) 方式转发一个以
【解析】直通交换方式是指以太网交换机可以在各端口间交换数据。它在输入端口检测到一个数据包时, 检查该包的包头, 获取包的目的地址, 启动内部的动态查找表转换成相应的输出端口, 在输入与输出交叉处接通, 把数据包直通到相应的端口, 实现交换功能。通常情况下, 直通交换方式只检查数据包的包头即前14个字节, 由于不需要考虑前导码, 只需要检测目的地址的6B , 所以最短的传输延迟是。
6. 静态链表中指针表示的是( )。
A. 下一元素的地址
B. 内存储器的地址
C. 下一元素在数组中的位置
D. 左链或右链指向的元素的地址
【答案】C
【解析】静态链表的一般结构为:struct static_list{ElemType data;int next;}
这种结构是预先分配一个较大的空间,类似于一次申请一个较大的数组,但是元素的增删操作都不会移动元素,只需要移动next 成员就行。因此,静态链表中的指针实际上表示的就是下一个元素在数组中的位置。
7. 某基于动态分区存储管理的计算机,,其主存容量为55MB(初始为空闲)采用最佳适配(BestFit)算法,分配和释放的顺序为:分配15MB 、分配30MB 、释放15MB 、分配8MB 、分配6MB ,此时主存中最大空闲分,区的大小是( ).
A.7MB
B.9MB
C.10MB
D.15MB
【答案】B
【解析】对于简单分区内存分配,需要将进程的所有代码和数据装入内存. 故55MB 先分配15MB 余40MB ,再分配30MB 后余10MB ,释放15MB 后出现一个15MB 和一个10MB 的空闲空间,分配8MB 时按最佳适配(BestFit)算法应该使用10MB 的空闲块,余2MB 的碎片,分配6MB 时占用15MB 的空间余9MB 的碎片(空闲空间),因此最大空闲区为9MB.
8. 下列给出的指令系统特点中, 有利于实现指令流水线的是( )。
Ⅰ. 指令格式规整且长度一致