2018年东华大学计算机科学与技术学院408计算机学科专业基础综合之计算机操作系统考研仿真模拟五套题
● 摘要
一、选择题
1. 下列关于进程和线程的叙述中,正确的是( )。
A. 不管系统是否支持线程,进程都是资源分配的基本单位
B. 线程是资源分配的基本单位,进程是调度的基本单位
C. 系统级线程和用户级线程的切换都需要内核的支持
D. 同一进程中的各个线程拥有各自不同的地址空间
【答案】A
【解析】进程始终是操作系统资源分配的基本单位,线程不能直接被系统分配资源。因此A 项是正确的,B 项错误。而且线程可以参与调度,如系统级线程可以被系统直接调度执行。
用户级线程切换不需要通过内核,因为用户级线程只在用户进程的空间内活动,系统并不能感知到用户级线程的存在,所以用户级线程的切换不需要通过内核。系统级线程的切换是需要内核支持的,因此C 项错误。
同一进程下的各线程共享进程的地址空间,并共享进程所持有的资源,但线程有自己的栈空间,不与其他线程共享,因此D 项错误。
2. 操作系统程序结构的主要特点是( )。
A. —个程序模块
B. 分层结构
C. 层次模块化
D. 子程序结构
【答案】C
3. 在进程管理中,当( )时,进程状态从运行态转换到就绪态。
A. 进程被调度程序选中
B. 时间片用完
C. 等待某一事件发生
D. 等待的事件发生
【答案】B
【解析】考查进程调度的原因。A 项进程将从就绪态变为运行态,C 项将从运行态变成阻塞态,D 项从阻塞态变成就绪态。
4. 中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A. 程序计数器
B. 程序状态字寄存器
C. 通用数据寄存器
D. 通用地址寄存器
【答案】B
【解析】本题考查的是中断处理和子程序调用所保存内容的区别,可以先从两者的作用不同来考虑。中断的发生通常是突然的,如地址越界等,往往是系统无法预知的(外部输入中断也是无法预知的,计算机不会知道用户什么时候用键盘输入)。当系统发生中断时要转入中断处理程序,处理完之后要返回到发生中断时的指令处继续执行,由于处理中断时CPU 可能会切换状态(如果在系统态发生中断则始终为系统态,不需要切换),所以中断处理返回时就需要还原当时的程序状态,包括处理器信息等,这就用到了程序状态字(PSW )寄存器所存储的内容。程序状态字寄存器用于记录当前处理器的状态和控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,其主要作用是实现程序状态的保护和恢复。所以中断处理时一定要将PSW 压栈保存。
子程序调用是系统能够预知的,而且子程序调用通常是在进程内部执行,不会更改程序状态,即便更改程序状态,只要更新寄存器就行,而不需要保存,因为一切都是系统预料到的,不需要保护和恢复。因此,子程序调用主要保存局部参数信息等,不需要将PSW 压栈。
中断处理和子程序调用对其他3个选项的操作都是相同的。
5. 操作系统实现( )存储管理的代价最小。
A. 分区
B. 分页
C. 分段
D. 段页
【答案】A
【解析】实现分页、分段和段页式存储管理都需要特殊的硬件的支持,因而代价比较高。分区存储管理是满足多道程序运行的最简单的存储管理方案,这种管理方法特别适用于小型机、微型机上的多道程序系统。
6. 假设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个选项都不能执行完全,中途会出现因资源不足而死锁。
7. 在设备管理中,用来实现设备分配的四个数据结构中,每个设备一张,描述设备特性和状态,反映设备的特性、设备和控制器的连接情况的数据结构是( )。
A. 设备控制表(DCT )
B. 系统设备表(SDT )
C. 控制器控制表(COCT )
D. 通道控制表(CHCT )
E. 设备
【答案】A
8. 下列进程调度算法中,综合考虑进程等待时间和执行时间的是( )。
A. 时间片轮转调度算法
B. 短进程优先调度算法
C. 先来先服务调度算法
D 高响应比优先调度算法
【答案】D
【解析】在高响应比优先调度算法中,计算每个进程的响应比,响应比最高的进程优先获得CPU 。响应比计算公式为:
因此高响应比优先调度算法综合考虑到了进程等待时间和执行时间。对于同时到达的长进程和短进程相比,由于执行时间短,短进程会优先执行,以提高系统吞吐量。当某进程等待时间较长时,响应比会变大,其优先级会提高并很快得到执行,因此不会产生进程调度不到的情况。