2017年河北师范大学数学与信息科学学院915计算机专业基础(操作系统)[专业硕士]考研导师圈点必考题汇编
● 摘要
一、选择题
1. 磁带适用于存放( )文件。
A. 随机
B. 索引
C. 串联
D. 顺序
【答案】D
2. 下列陈述中,正确的是( )。
A. 磁盘是外部存储器,和输入/输出系统没有关系
B. 对速度极慢或简单的外围设备可以不考虑设备的状态直接进行接收数据和发送数据
C. 从输入/输出效率分析,DMA 方式效率最高、中断方式次之、程序查询方式最低,所以才有DMA 方式淘汰中断方式、中断方式淘汰程序查询方式的发展过程
D. 在程序查询方式、中断方式中需要组织I/O接口,而DMA 方式和通道方式就不需要了
【答案】B
3. 若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。
若该文件的数据不在内存中,则该进程进入睡眠等待状态
请求read 系统调用会导致CPU 从用户态切换到核心态
read 系统调用的参数应包含文件的名称
A. 仅
B. 仅
C. 仅
D.
【答案】A
【解析】当用户进程读取的磁盘文件数据不在内存时,转向中断处理,导致CPU 从用户态切
,因此I 、II 换到核心态,此时该进程进入睡眠等待状态(其实就是阻塞态,只不过换了个说法)
正确。
在调用read 之前,需要用open 打开该文件,open 的作用就是产生一个文件编号或索引指向打开的文件,之后的所有操作都利用这个编号或索引号直接进行,不再考虑物理文件名,所以read
系统调用的参数不应包含物理文件名。文件使用结束后要用dose 关闭文件,消除文件编号或索引。
4. 某计算机系统中有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 即为可能产生死锁的最小进程数,该公式同样可以用于求出每个进程需要多少资源时可能会产生死锁。
该公式可以这样理解:当所有进程都差一个资源就可以执行,此时系统中所有资源都已经分配,因此死锁,其思想和鸽巢原理类似。
5. —般用户只需要知道( )就能使用文件中的信息。
A. 文件的符号名
B. 文件的逻辑结构
C. 文件的物理结构
D. 文件的存取方法
【答案】A
【解析】文件管理实现按名存取,用户使用文件名即可以实现对文件的操作。
6. 一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms 到达。它们的计算和I/O操作顺序如下:
P1:计算60ms ,I/O80ms,计算20ms 。
P2:计算120ms ,I/O40ms,计算40ms 。
若不考虑调度和切换时间,则完成两个作业需要的时间最少是( )。
A.240ms
B.260ms
C.340ms
D.360ms
【答案】B
【解析】画出PI 和P2的运行甘特图如图所示。P2晚到,因此先从PI 开始执行,由图可知最少时间为
260ms.
图 P1和P2的运行甘特图
7. 在UNIX 系统中,请求调用是采用下列算法中的( )算法。
A.LFU
B.FIFO
C.LRU
D.LIFO
【答案】C
【解析】最近最久未使用算法(LRU )。该算法选择在最近一段时间内最久没有使用过的页淘汰掉。它依据的是程序局部性原理。最近最久未使用算法是利用一个特殊的栈来保存当前使用的各个页的页号。每当访问某页时,考察栈内是否有与此相同的页号,若有则将该页的页号从栈中抽出,再将它压入栈顶。在UNIX 系统中,请求调用选用的是LRU 算法。所以答案为C 项。
8. 下列选项中,不可能在用户态发生的事件是( )。
A. 系统调用
B. 外部中断
C. 进程切换
D. 缺页
【答案】C
【解析】判断能否在用户态执行的关键在于事件是否会执行特权指令。
首先看A 项,系统调用是系统提供给用户程序调用内核函数的,当用户程序执行系统调用时,会使CPU 状态从用户态切换至系统态并执行内核函数,执行结束之后将控制权还给用户程序,并且CPU 状态从系统态切换至用户态。从这个过程可以看出,虽然系统调用的执行过程中CPU 需要切换至系统态,但系统调用(或者引用、调用)是在用户态发生的,是系统特意为用户态设计的,因此系统调用可以发生在用户态。
B 项为外部中断,很多考生会被中断二字影响,认为涉及中断的都应该是系统态的事情,而不能在用户态执行,因此选错。中断在系统中经常发生,如键盘输入会引发外部中断(外部中断
;是指由外部事件引起的中断,比如鼠标单击和键盘输入等操作引起的中断)进程缺页会产生缺页