2018年上海海洋大学(联合培养)408计算机学科专业基础综合之计算机操作系统考研强化五套模拟题
● 摘要
一、选择题
1. 时间片轮转法进行进程调度是为了( )。
A. 多个终端都能得到系统的及时响应
B. 先来先服务
C. 优先级较高的进程得到及时响应
D. 需要CPU 最短的进程先做
【答案】A
【解析】时间片轮转法被用于分时操作系统,使得每个终端都能得到及时响应。B 项是先来先服务算法,C 项是优先级高者优先算法,D 项是短进程优先算法。
2. 下列选项中,操作系统提供给应用程序的接口是( )。
A. 系统调用
B. 中断
C. 库函数
D. 原语
【答案】A
【解析】操作系统提供两类接口,一类是命令接口(图形接口是命令接口的图形化),如用户通过键盘命令和鼠标命令来操作计算机;另一类是程序接口,它提供一组系统调用,用户可以通过运行一些应用程序来访问操作系统的资源。
系统调用(System Call )作为呈现给用户的接口,包含了内核提供的一系列具备预定功能的内核函数。操作系统提供了系统调用的调用接口,进程调用后由操作系统负责,把应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理结果返回给应用程序,并将执行权交还给进程,应用程序继续执行后续操作。
3. 硬中断服务程序的末尾要安排一条指令IRET ,它的作用是( )。
A. 构成中断结束命令
B. 恢复断点信息并返回
C. 转移到IRET 的下一条指令
D. 返回到断点处
【答案】B
4. 中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A. 程序计数器
B. 程序状态字寄存器
C. 通用数据寄存器
D. 通用地址寄存器
【答案】B
【解析】本题考查的是中断处理和子程序调用所保存内容的区别,可以先从两者的作用不同来考虑。中断的发生通常是突然的,如地址越界等,往往是系统无法预知的(外部输入中断也是无法预知的,计算机不会知道用户什么时候用键盘输入)。当系统发生中断时要转入中断处理程序,处理完之后要返回到发生中断时的指令处继续执行,由于处理中断时CPU 可能会切换状态(如果在系统态发生中断则始终为系统态,不需要切换),所以中断处理返回时就需要还原当时的程序状态,包括处理器信息等,这就用到了程序状态字(PSW )寄存器所存储的内容。程序状态字寄存器用于记录当前处理器的状态和控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,其主要作用是实现程序状态的保护和恢复。所以中断处理时一定要将PSW 压栈保存。
子程序调用是系统能够预知的,而且子程序调用通常是在进程内部执行,不会更改程序状态,即便更改程序状态,只要更新寄存器就行,而不需要保存,因为一切都是系统预料到的,不需要保护和恢复。因此,子程序调用主要保存局部参数信息等,不需要将PSW 压栈。
中断处理和子程序调用对其他3个选项的操作都是相同的。
5. 早期微型机中,不常用的I/O信息交换方式是( )。
A. 程序查询方式
B. 中断方式
C.DMA 方式
D. 通道方式
【答案】D
6. 支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行,来实现CPU 的共享,但其中( )不是引起操作系统选择新进程的直接原因。
A. 运行进程的时间片用完
B. 运行进程出错
C. 运行进程要等待某一事件发生
D. 有新进程进入就绪状态
【答案】D
【解析】A 项、B 项、C 项中,操作系统必须立即调度其他进程,而有新的进程进入就绪状
态,如果CPU 正在处理其他进程的请求,则该就绪进程仍然需要等待,不会引起操作系统选择新进程。
7. 下列选项中,不可能在用户态发生的事件是( )。
A. 系统调用
B. 外部中断
C. 进程切换
D. 缺页
【答案】C
【解析】判断能否在用户态执行的关键在于事件是否会执行特权指令。
首先看A 项,系统调用是系统提供给用户程序调用内核函数的,当用户程序执行系统调用时,会使CPU 状态从用户态切换至系统态并执行内核函数,执行结束之后将控制权还给用户程序,并且CPU 状态从系统态切换至用户态。从这个过程可以看出,虽然系统调用的执行过程中CPU 需要切换至系统态,但系统调用(或者引用、调用)是在用户态发生的,是系统特意为用户态设计的,因此系统调用可以发生在用户态。
B 项为外部中断,很多考生会被中断二字影响,认为涉及中断的都应该是系统态的事情,而不能在用户态执行,因此选错。中断在系统中经常发生,如键盘输入会引发外部中断(外部中断是指由外部事件引起的中断,比如鼠标单击和键盘输入等操作引起的中断);进程缺页会产生缺页中断等,这些都经常发生在用户进程中,自然这些也都是用户态的事件。以键盘输入举例,一个用户进程需要用户输入一串命令,当用户用键盘输入时会引发外部中断(此时CPU 还是用户态),此时系统会切换至系统态执行中断处理程序(这时CPU 转变为系统态),处理程序处理之后将输入结果返回给用户程序并将CPU 状态切换为用户态,中断处理结束。由此过程可见,中断的发生和处理与系统调用类似,都是发生在用户态,通过切换至系统态完成对应功能,然后返回至用户态。系统调用和中断的发生是在用户态,处理是在系统态。
看D 项,缺页与B 项类似,用户态执行进程缺页时会产生缺页中断(中断发生在用户态),然后系统转入系统态进行缺页中断处理,然后再返回用户态,将控制权交还给用户进程。因此D 项也可以发生在用户态。
根据排除法知道答案是C 项,进程切换实际上是对于程序状态的修改,因此要修改程序状态字,这是特权指令,必须在系统态执行。
8. 在中断系统中,CPU —旦响应中断,则立即关闭标志,以防止本次中断响应过程被其他中断源产生另一次中断干扰( )。
A. 中断允许
B. 中断请求
C. 中断屏蔽
D. 设备完成