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

2018年北京市培养单位北京基因组研究所862计算机学科综合(非专业)之计算机操作系统考研强化五套模拟题

  摘要

一、选择题

1. 在单处理机系统中,可并行的是( )。

进程与进程

处理机与设备

处理机与通道

设备与设备 A. B. C. D.

【答案】D

【解析】单处理机即只有一个处理机(此处不包含多核的情况),某时刻处理机只能执行一个进程,所以进程与进程之间不能并行执行。处理机、通道、设备都能并行执行,比如同时打印(设备)、计算(处理机)、传输数据(通道控制内存与外存间数据交换)。

换个角度来想,进程的执行必须要依赖处理机,而一个处理机同时只能处理一个进程,所以单处理机系统中进程就不可以并行;而其他选项依赖的是不同部件,因此可以并行。

明确一个概念,即使是采用了多道程序设计技术的系统,只要是单处理机,进程就不可以并行,而只是并发。因此如果题目改成“采用多道程序设计技术的单处理机系统”,答案依然不变。

2. 为了便于实现多级中断,保存现场信息最有效的方法是采用( )。

A. 通用寄存器

B. 堆栈

C. 存储器

D. 外存

【答案】B

3. 下述( )不属于多道程序运行的特征。

A. 多道

B. 运行速度快

C. 宏观上并行

D. 实际上多道程序是穿插运行的

【答案】B

【解析】多道程序的特点有:独立性、随机性和资源共享性。

4. 文件的二级目录结构由( )和( )组成。

A. 根目录

B. 子目录

C. 主文件目录

D. 用户文件目录

E. 当前目录

【答案】CD

【解析】文件的二级目录结构是由主文件目录和用户文件目录组成的,主文件目录包括用户名和对应用户文件目录的首地址,而用户文件目录包含对应用户的目录结构。

5. 在存储管理中采用对换和覆盖,目的是( )。

A. 物理上扩充

B. 实现主存共享

C. 节省存储空间

D. 提高CPU 利用率

【答案】D

【解析】对换和覆盖是在逻辑上扩充内存的方法,从而解决内存容量不足和有效利用内存的问题。所以它不是物理上扩充,与实现主存共享无关,不能节省存储空间,最终目的是提高CPU 利用率。

6. 分区的保护措施主要是( )。

A. 界地址保护

B. 程序状态保护

C. 用户权限保护

D. 存取控制表保护

【答案】A

【解析】目前分区的保护措施常用的是界限寄存器保护,也就是界地址保护。

7. 中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调用不需要保存其内容的是( )。

A. 程序计数器

B. 程序状态字寄存器

C. 通用数据寄存器

D. 通用地址寄存器

【答案】B

【解析】本题考查的是中断处理和子程序调用所保存内容的区别,可以先从两者的作用不同来考虑。中断的发生通常是突然的,如地址越界等,往往是系统无法预知的(外部输入中断也是无法预知的,计算机不会知道用户什么时候用键盘输入)。当系统发生中断时要转入中断处理程序,处理完之后要返回到发生中断时的指令处继续执行,由于处理中断时CPU 可能会切换状态(如果在系统态发生中断则始终为系统态,不需要切换),所以中断处理返回时就需要还原当时的程序状态,包括处理器信息等,这就用到了程序状态字(PSW )寄存器所存储的内容。程序状态字寄存器用于记录当前处理器的状态和控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,其主要作用是实现程序状态的保护和恢复。所以中断处理时一定要将PSW 压栈保存。

子程序调用是系统能够预知的,而且子程序调用通常是在进程内部执行,不会更改程序状态,即便更改程序状态,只要更新寄存器就行,而不需要保存,因为一切都是系统预料到的,不需要保护和恢复。因此,子程序调用主要保存局部参数信息等,不需要将PSW 压栈。

中断处理和子程序调用对其他3个选项的操作都是相同的。

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

A.2

B.3

C.4

D.5

【答案】C

【解析】假设K=3, 3个进程共享8台打印机,每个进程最多可以请求3台打印机,若3个进程都分别得到2台打印机,系统还剩下2台打印机,然后无论哪个进程申请打印机,都可以得到满足,3个进程都可以顺利执行完毕,这种情况下不会产生死锁。假设k=4, 4个进程共享8台打印机,都得不到满足,产生了互相等待,可能会发生死锁。

如果觉得这种思路不够简略,换个说法或许更好理解。根据组合数学中鸽巢原理的思想,考虑极端情况,因为每个进程最多需要3台,当每个进程都已经占用了2台时,如果仍然有空闲打印机,则必定能满足某个进程3台的条件;如果没有,则死锁。所以,将8个打印机分给K 个进程的极端情况就是K 为4, 刚好每个进程2台,没有剩余。

这类型的题通常数字不大,可以凭经验给出正确答案,这样或许会快一些。下面给出对应计算公式,以便大家加深理解。假设n 为每个进程所需的资源数,m 为进程数,A 为系统的资源数,则满足^的最小整数m 即为可能产生死锁的最小进程数,该公式同样可以用于求出每个进程需要多少资源时可能会产生死锁。

该公式可以这样理解:当所有进程都差一个资源就可以执行,此时系统中所有资源都已经分配,因此死锁,其思想和鸽巢原理类似。