计算机操作系统练习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单项选择
1. 两个进程合作完成一项任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。
A.同步
B.执行
C.互斥
D.调度
2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。
A. 进程互斥
B. 进程同步
C. 进程通信
D. 进程制约
3. 除了因为资源不足,进程竞争资源可能出现死锁外,不适当的—C—也可能产生死锁。
A.进程优先权
B.资源线性分配
C.进程推进顺序
D.分配队列优先权
4. 除了可以采用资源剥夺法解除死锁外,还可以采用—C—方法解除死锁。
A.修改信号量
B.拒绝分配新的资源
C.撤消进程
D.执行并行操作
5. 资源的按序分配策略可以破坏—D—条件。
A. 互斥
B. 请求与保持
C. 不剥夺
D. 环路等待
6. 在—C—的情况下,系统出现死锁。
A. 计算机系统发生了重大故障
B. 有多个阻塞的进程存在
C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源
D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数
7.某系统中有3个进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是—B—。
A.9
B.10
C.11
D.12
8. 银行家算法是一种—B—算法。
A. 解除死锁
B.避免死锁
C. 预防死锁
D. 检测死锁
9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。
A. 银行家算法
B. 资源有序分配
C. 死锁检测法
D. 资源分配图化简法
10. 设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值应为—B—。
A. n
B. m
C. m-n
D. -m
11.死锁定理是用于处理死锁的哪一种方法—C—。
A.预防死锁
B.避免死锁
C.检测死锁
D.解除死锁
12. AND信号量集机制是为了—C—。
A. 信号量的集中使用
B. 解决结果的不可再现性问题
C. 防止系统的不安全性
D. 实现进程的相互制约
13.临界区是指—A—。
A.与共享变量有关的程序段
B.公共数据区
C.系统管理区
D.临时的工作区
14. “死锁”问题的讨论是针对—D—的。
A. 某个进程申请系统中不存在的资源
B. 某进程申请资源数超过了系统拥有的最大资源数
C.硬件故障
D. 多个并发进程竞争独占型资源
15. 下列的信号量操作中,相当于一个可控开关的是—D—
。
A. Swait(s,d,d)
B. Swait(s,1,1)
C. Swait(s,1,0)
D. Swait(s,0,0)
16.不是信号量能实现的功能是—D—。
A.进程同步
B.进程互斥
C.执行的前趋关系
D.进程的并发执行
17. 若P、V操作的信号量S初值为2,当前值为-1,则表示有—B—等待进程。
A. 0个
B. 1个
C.2个
D. 3个
18.发生死锁的必要条件有四个,要预防死锁的发生,可以破坏这四个必要条件,但破坏—A—条件是不太现实的。
A.互斥
B.请求和保持
C. 不剥夺
D.环路等待
19. 下面关于检测死锁的叙述错误的是—C—。
A. 检测死锁的方法对系统资源的分配不加限制,只要有则可以分配
B. 检测死锁中系统需要反复检测各进程资源申请和分配情况
C.检测死锁是预防系统进入死锁
D. 检测死锁只能发现死锁,而不能解除死锁
填空
1. 信号量的物理意义是:当前信号量的值大于零时,表示(可用资源的数目);当前信号量的值小于零时,其绝对值表示(因请求该资源而被阻塞的进程数目)。
2. 进程间的高级通信机制可归结为3类,分别是(共享存储器系统)、 (消息传递系统)和(管道通信)。
3. 资源分配中,摒弃请求和保持条件,可以采用(资源原子分配法);摒弃不剥夺条件采用(剥夺方式);摒弃环路等待条件,可采用(资源有序分配法)。
4. 系统处于安全状态则(一定不会)发生死锁,系统处于不安全状态则(有可能)发生死锁。
5. 有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是(1~1-m)。
问答
1. a, b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时,同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点与b点同时驶入;当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。请用信号量为工具,对ab段实现正确管理以保证行驶安全。
答:设置信号量。
共享变量ab表示由a点进入ab段上的车辆数,ab初值为0。
共享变量ba表示由b点进入ab段上的车辆数,ba初值为0。
信号量S1表示a点进入的车辆访问共享变量ab,初值为1;
信号量S2表示b点进入的车辆访问共享变量ba,初值为1 ;
信号量Sab表示a点、 b点的车辆湖斥进入ab段,初值为1。
Semaphore S1=1,S2=1,Sab=1
int ab=ba=0;
void Pab()
{ while(1)
{ wait(S1);
if (ab==0)
wait(Sab);
ab=ab 1;
signal(S1);
车辆由a驶向b;
wait(S1);
ab=ab-1;
if (ab==0)
signal(Sab);
signal(S1); }
}
void Pba()
{ while(1)
{ wait(S2);
if (ba==0)
wait(Sab);
ba=ba 1;