扫一扫二维码
进群一起备考
查看更多
当前 - 选择题 - 进程管理中等
单选题
2015年11月第1题
收藏
分享
#操作系统
#进程管理
#第二版教材
#凯恩建议必须掌握
某航空公司机票销售系统有 n 个售票点,该系统为每个售票点创建一个进程 Pi(i=1,2,...,n)管理机票销售。假设 Tj(j=1,2,...,m)单元存放某日某航班的机票剩余票数,Temp 为 Pi 进程的临时工作单元,x 为某用户的订票张数。初始化时系统应将信号量 S 赋值为(问题1)。Pi 进程的工作流程如下图所示,若用 P 操作和 V 操作实现进程间的同步与互斥,则图中空(a),空(b)和空(c)处应分别填入(问题2)。

正确答案B
凯恩解析
本题考察的是信号量在进程互斥中的应用。
互斥信号量用于保护对共享变量(此处为余票 Tj)的临界区访问。
问题 1:互斥信号量的初值应为1,表示初始时临界区可被一个进程进入。
A选项0:表示资源不可用,会导致所有进程一开始就阻塞,错误。
B选项1:允许一次仅一个进程进入临界区,满足互斥要求,正确。
C选项2、D选项3:会允许同时多个进程进入临界区,破坏互斥,错误。
选择选项 B。
问题 2:
(a)进入检查与扣减余票的临界区前,应申请互斥资源,用P(S)。
(b)若余票不足(分支N),应尽快离开临界区并释放互斥,用V(S)。
(c)成功扣减并回写余票后,同样释放互斥,用V(S)。
因此序列应为P(S),V(S),V(S)。
B/C/D选项中,要么进入时未申请互斥,要么在失败分支未释放或错误加锁,都会造成竞争或死锁,错误。
选择选项 A。
