一、选择题
1. 最容易造成很多小碎片的可变分区分配算法是( )。
A. 首次适应算法
B. 最佳适应算法
C. 最坏适应算法
D. 以上算法都不会
【答案】B
【解析】最佳适应算法是指,根据申请在空闲区表中选择能满足申请长度的最小空闲区。此
算法最节约空间,因为它尽量不分割大的空闲区。该算法缺点是可能会形成很多很小的空闲区域。
2. 把逻辑地址转变为内存的物理地址的过程称做( )。
A. 编译
B. 连接
C. 运行
D. 重定位
【答案】D
3. 本地用户通过键盘登录系统,首先获得键盘输入信息的程序是( )。
A. 命令解释程序
B. 中断处理程序
C. 系统调用服务程序
D. 用户登录程序
【答案】B
【解析】通过键盘登录系统时,必然需要进行键盘操作。在输入键盘命令时,系统首先会产生中断,调用相关功能对键盘录入的信息进行存储,待键盘输入完毕后,再将输入结果交给登录程序进行整体登录信息的处理。因此,首先获得键盘输入信息的程序是中断处理程序。
4. 下面有关选择进程调度算法的准则错误的是( )。
A. 尽量提高处理器利用率
B. 尽可能提尚系统吞吐量
C. 适当增长进程在就绪队列中的等待时间
D. 尽快响应交互式用户的请求
【答案】C
【解析】选择调度算法应该尽量减少等待时间,从而降低响应时间。
5. 有两个并发执行的进程P1和P2, 共享初值为1的变量x 。P1对x 加1,P2对x 减1。
两个操作完成后,x 的值( )。
A. 可能为-1或3
B. 只能为1
C. 可能为0、1或2
D. 可能为-1、0、1或2
【答案】C
【解析】执行①②③④⑤⑥结果为1,执行①②④⑤⑥③结果为2, 执行④⑤①②⑨⑥结果为0, 结果-1无法得到。这个题目的进程之间没有同步关系,因此通过分步尝试就可以得到答案。有的题目中两个进程会有同步关系,可以画出前趋图,以防推进顺序错误。
6. 在进程管理中,当( )时,进程状态从运行态转换到就绪态。
A. 进程被调度程序选中
B. 时间片用完
C. 等待某一事件发生
D. 等待的事件发生
【答案】B
【解析】考查进程调度的原因。A 项进程将从就绪态变为运行态,C 项将从运行态变成阻塞态,D 项从阻塞态变成就绪态。
7. 中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A. 程序计数器
B. 程序状态字寄存器
C. 通用数据寄存器
D. 通用地址寄存器
【答案】B
【解析】本题考查的是中断处理和子程序调用所保存内容的区别,可以先从两者的作用不同
来考虑。中断的发生通常是突然的,如地址越界等,往往是系统无法预知的(外部输入中断也是无法预知的,计算机不会知道用户什么时候用键盘输入)。当系统发生中断时要转入中断处理程序,处理完之后要返回到发生中断时的指令处继续执行,由于处理中断时CPU 可能会切换状态(如果在系统态发生中断则始终为系统态,不需要切换),所以中断处理返回时就需要还原当时的程序状态,包括处理器信息等,这就用到了程序状态字(PSW )寄存器所存储的内容。程序状态字寄存器用于记录当前处理器的状态和控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,其主要作用是实现程序状态的保护和恢复。所以中断处理时一定要将PSW 压栈保存。
子程序调用是系统能够预知的,而且子程序调用通常是在进程内部执行,不会更改程序状态,即便更改程序状态,只要更新寄存器就行,而不需要保存,因为一切都是系统预料到的,不需要保护和恢复。因此,子程序调用主要保存局部参数信息等,不需要将PSW 压栈。
中断处理和子程序调用对其他3个选项的操作都是相同的。
8. 批处理操作系统的目的是( )。
A. 提高系统与用户的交互性能
B. 提高系统资源利用率
C. 降低用户作业的周转时间
D. 减少用户作业的等待时间
【答案】B
【解析】在批处理系统中,操作人员将作业成批地装入计算机中,由操作系统在计算机某个特定区域(一般称为输入井)将其组织好并按一定的算法选择其中的一个或几个作业,将其调入内存使其运行。运行结束后,把结果放入“输出井”,由计算机统一输出后,交给用户。批处理系统的主要优点是系统吞吐量大、资源利用率高。批处理系统的主要缺点是交互能力比较差、作业周转时间长。
9. 在UNIX 系统中,请求调用是采用下列算法中的( )算法。
A.LFU
B.FIFO
C.LRU
D.LIFO
【答案】C
【解析】最近最久未使用算法(LRU )。该算法选择在最近一段时间内最久没有使用过的页淘汰掉。它依据的是程序局部性原理。最近最久未使用算法是利用一个特殊的栈来保存当前使用的各个页的页号。每当访问某页时,考察栈内是否有与此相同的页号,若有则将该页的页号从栈中抽出,再将它压入栈顶。在UNIX 系统中,请求调用选用的是LRU 算法。所以答案为C 项。
10.若处理器有32位地址,则它的虚拟地址空间为( )字节。
A.2G
B.4G