2017年南京理工大学计算机科学与工程学院877计算机专业基础C之计算机操作系统考研题库
● 摘要
一、选择题
1. 某计算机系统中有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 即为可能产生死锁的最小进程数,该公式同样可以用于求出每个进程需要多少资源时可能会产生死锁。
该公式可以这样理解:当所有进程都差一个资源就可以执行,此时系统中所有资源都已经分配,因此死锁,其思想和鸽巢原理类似。
2. 下列选项中,在用户态执行的是( )。
A. 命令解释程序
B. 缺页处理程序
C. 进程调度程序
D. 时钟中断处理程序
【答案】A
【解析】CPU 状态分为管态和目态,管态又称为特权状态、系统态或核心态。通常,操作系统在管态下运行。CPU 在管态下可以执行指令系统的全集。目态又称为常态或用户态,当机器处于目态时,程序只能执行非特权指令,用户程序只能在目态下运行。
CPU 将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序不能使用。
缺页处理与时钟中断都属于中断处理程序,处理不当会对系统造成不良影响,因此只能在系统态执行。进程调度属于系统的一部分,也只能在系统态执行。命令解释程序属于命令接口,是操作系统提供给用户所使用的接口,因此可以用在用户态执行。因此选A 项。
另一个提供给用户程序的接口-系统调用也是在用户态执行。
3. 早期微型机中,不常用的I/O信息交换方式是( )。
A. 程序查询方式
B. 中断方式
C.DMA 方式
D. 通道方式
【答案】D
4. 硬中断服务程序的末尾要安排一条指令IRET ,它的作用是( )。
A. 构成中断结束命令
B. 恢复断点信息并返回
C. 转移到IRET 的下一条指令
D. 返回到断点处
【答案】B
5. 虚拟存储器的最大容量是由( )决定的。
A. 计算机系统的地址结构和外存空间
B. 页表长度
C. 内存空间
D. 逻辑空间
【答案】A
【解析】虚拟存储器的容量理论上的最大值是由CPU 地址总线结构决定的,但是实际容量却是主存和辅存容量之和。
6. 在中断周期中,将允许中断触发器置“0”的操作由完成( )。
A. 硬件
B. 关中断指令
C. 开中断指令
D. 软件
【答案】B
7. 进程在系统中是否存在的唯一标志是( )。
A. 数据集合
B. 目标程序
C. 源程序
D. 进程控制块
【答案】D
【解析】在进程的整个生命期中,系统总是通过PCB 对进程进行控制的,亦即,系统是根据
PCB 是进程存在的惟一标志。 进程的PCB 而不是任何别的什么而感知到该进程的存在的。所以说,
8. 目录文件所存放的信息是( )。
A. 某一文件存放的数据信息
B. 某一个文件的文件目录
C. 该目录中所有数据文件目录
D. 该目录中所有子目录文件和数据文件的目录
【答案】D
【解析】为实现“按名存取”,必须建立文件名与外存空间中的物理地址的对应关系,体现这种对应关系的数据结构称为文件目录。把若干文件目录组织在一起,以文件的形式保存在外存上,以备后用,这就形成了目录文件。
9. 下列选项中,降低进程优先权级的合理时机是( )。
A. 进程的时间片用完
B. 进程刚完成I/O操作,进入就绪列队
C. 进程长期处于就绪列队
D. 进程从就绪状态转为运行态
【答案】A
【解析】本题的解答关键在于找出哪个选项中的进程应当被赋予低优先级。
A 项中,采用时间片算法处理进程调度时,如果进程时间片用完,则需要暂停执行,并插入到就绪队列的末尾,也就是优先级最低,所以降低优先级的合理时机是时间片用完时。另外,如果采用多级反馈调度算法,当时间片用完,进程还未结束,则要放到下一级队列中;
B 项中,进程完成I/O操作后,进入就绪队列时应当排在就绪队列末尾,其是优先级最低的进程,不应再降低其优先级,而且为了让其及时处理I/O结果,可以适当提高优先级;
C 项中,进程长期处于就绪队列,需要增加优先级使其尽快得到执行,不然会产生饥饿现象
; (所谓饥饿就是进程长期得不到处理机,无法执行)
D 项中,当进程处于运行状态时,已经无所谓优先级,通常优先级都是针对就绪队列中进程的,执行中的和阻塞中的进程一般不用优先级来描述。