2017年厦门大学计算机科学系408计算机学科专业基础综合之计算机操作系统考研仿真模拟题
● 摘要
一、选择题
1. 假设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个选项都不能执行完全,中途会出现因资源不足而死锁。
2. 原语是一种特殊的系统调用命令,它的特点是( )。
A. 执行时不可中断
B. 自己调用自己
C. 可被外层调用
D. 功能强
【答案】A
【解析】原语可分为两类:一类是机器指令级的,其特点是执行期间不允许中断;另一类是功能级的,其特点是作为原语的程序段不允许并发执行。两类原语在执行时都不可中断。
3. 索引式(随机)文件组织的一个主要优点是( )。
A. 不需要链接指针
B. 能实现物理块的动态分配
C. 回收实现比较简单
D. 用户存取方便
【答案】B
【解析】使用索引文件,很容易实现物理块的动态分配,只需要对索引表进行修改就行了。
4. 有两个并发执行的进程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无法得到。这个题目的进程之间没有同步关系,因此通过分步尝试就可以得到答案。有的题目中两个进程会有同步关系,可以画出前趋图,以防推进顺序错误。
5. 面向用户的组织机构属于( )。
A. 虚拟结构
B. 实际结构
C. 逻辑结构
D. 物理结构
【答案】C
6. 可变式分区又称为动态分区,它是在系统运行过程中( )时动态建立的。
A. 在作业装入
B. 在作业创建
C. 在作业完成
D. 在作业未装入
【答案】A
【解析】动态分区分配是根据进程的实际需要,动态地为之分配内存空间。为把一个新作业装入内存,须按照一定的分配算法,从空闲分区表或空闲分区链中选出一分区分配给该作业,故它是在作业装入时动态建立的。
7. 在UNIX 系统中,目录结构采用( )。
A. 单级目录结构
B. 二级目录结构
C. 单纯树形目录结构
D. 带链接树形目录结构
【答案】D
8. 在UNIX 中,通常把设备作为( )文件来处理。
A. 特殊
B. 普通
C. 目录文件
D. 设备
【答案】A
9. 某计算机系统中有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 即为可能产生死锁的最小进程数,该公式同样可以用于求出每个进程需要多少资源时可能会产生死锁。
该公式可以这样理解:当所有进程都差一个资源就可以执行,此时系统中所有资源都已经分配,因此死锁,其思想和鸽巢原理类似。
10.若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。
若该文件的数据不在内存中,则该进程进入睡眠等待状态
请求read 系统调用会导致CPU 从用户态切换到核心态
read 系统调用的参数应包含文件的名称