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

2017年青海师范大学计算机学院408计算机学科专业基础综合[专业硕士]之计算机操作系统考研冲刺密押题

  摘要

一、选择题

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

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

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

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

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

【答案】A

【解析】进程始终是操作系统资源分配的基本单位,线程不能直接被系统分配资源。因此A 项是正确的,B 项错误。而且线程可以参与调度,如系统级线程可以被系统直接调度执行。

用户级线程切换不需要通过内核,因为用户级线程只在用户进程的空间内活动,系统并不能感知到用户级线程的存在,所以用户级线程的切换不需要通过内核。系统级线程的切换是需要内核支持的,因此C 项错误。

同一进程下的各线程共享进程的地址空间,并共享进程所持有的资源,但线程有自己的栈空间,不与其他线程共享,因此D 项错误。

2. —个文件系统的逻辑分区( )。

A. 不能管理大于物理硬盘容量

B. 能管理2个相同的物理硬盘

C. 能管理2个不相同的物理硬盘

D. 能管理多个不相同的物理硬盘

【答案】A

【解析】逻辑分区必须跟实际的硬盘大小相对应。

3. 假设5个进程PO 、P1、P2、P3、P4共享3类资源Rl 、R2、R3,这些资源总数分别为18、6、22。T0时刻的资源分配情况(如表所示),此时存在的一个安全序列是( )。

表 T0时刻的资源分配情况

A.P0, P2, P4, P1, P3

B.P1, P0, P3, P4, P2

C.P2, P1, P0, P3, P4

D.P3, P4, P2, P1, P0

【答案】D

【解析】对4个选项分别进行安全性检测,只有D 项能够全部执行结束,其他3个选项都不能执行完全,中途会出现因资源不足而死锁。

4. 在中断周期中,将允许中断触发器置“0”的操作由完成( )。

A. 硬件

B. 关中断指令

C. 开中断指令

D. 软件

【答案】B

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

A. 程序计数器

B. 程序状态字寄存器

C. 通用数据寄存器

D. 通用地址寄存器

【答案】B

【解析】本题考查的是中断处理和子程序调用所保存内容的区别,可以先从两者的作用不同来考虑。中断的发生通常是突然的,如地址越界等,往往是系统无法预知的(外部输入中断也是无法预知的,计算机不会知道用户什么时候用键盘输入)。当系统发生中断时要转入中断处理程序,处理完之后要返回到发生中断时的指令处继续执行,由于处理中断时CPU 可能会切换状态(如果

,在系统态发生中断则始终为系统态,不需要切换)所以中断处理返回时就需要还原当时的程序状

态,包括处理器信息等,这就用到了程序状态字(PSW )寄存器所存储的内容。程序状态字寄存器用于记录当前处理器的状态和控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,其主要作用是实现程序状态的保护和恢复。所以中断处理时一定要将PSW 压栈保存。

子程序调用是系统能够预知的,而且子程序调用通常是在进程内部执行,不会更改程序状态,

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

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

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

A. 进程P 的代码段

B. 进程P 中打开的文件

C. 进程P 的全局变量

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

【答案】D

【解析】进程是资源分配的基本单元,进程下的各线程可以并行执行,它们共享进程的资源,包括地址空间、持有资源、相关变量和代码等,但各个线程有自己的栈,这样各线程才能够独立执行程序而不相互干扰,各自的栈指针对其他线程是透明的,因此进程P 中某线程的栈指针是不能共享的。

这里有一个小技巧:线程共享进程的资源,但不能共享线程的资源。因此,只要选择明确归属于某线程的选项即可。选项中只有D 项是明确归属于某线程的,因此为正确答案。

7. 一个正在运行的进程,当发生某一事件,将其挂在( )。

A. 等待队列

B. 运行队列

C. 就绪队列

D. 任意一个队列

【答案】A

【解析】只有在分时系统时间片完时,进程由运行转为就绪状态。一般来说,有事件发生时,进程会被挂在等待队列。

8. 可变式分区又称为动态分区,它是在系统运行过程中( )时动态建立的。

A. 在作业装入

B. 在作业创建

C. 在作业完成

D. 在作业未装入

【答案】A

【解析】动态分区分配是根据进程的实际需要,动态地为之分配内存空间。为把一个新作业装入内存,须按照一定的分配算法,从空闲分区表或空闲分区链中选出一分区分配给该作业,故它是在作业装入时动态建立的。