查看更多
当前 - 选择题 - 进程管理
中等
单选题
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)

浓缩知识点

互斥信号量是实现进程互斥访问临界资源的核心机制,临界资源指一次仅能被一个进程访问的资源,比如共享数据、独占硬件等。互斥信号量的初始值固定为1,标识临界资源初始处于可用状态,仅允许一个进程进入对应的临界区。使用时需遵循固定逻辑:进入临界区前必须执行P操作申请资源,若信号量值为0则进程阻塞等待;无论临界区内的操作成功或失败,只要退出临界区就必须执行V操作释放资源,确保信号量回归可用状态,避免出现资源竞争、死锁或进程永久阻塞的问题。此外,P、V操作属于原子操作,执行过程不可被中断,这是保证互斥机制有效的关键,能彻底防止多个进程同时操作临界资源引发的数据错乱等异常。

正确答案
B

本题考察的是信号量在进程互斥中的应用
互斥信号量用于保护对共享变量(此处为余票 Tj)的临界区访问。
问题 1:互斥信号量的初值应为1,表示初始时临界区可被一个进程进入。
A选项0:表示资源不可用,会导致所有进程一开始就阻塞,错误。
B选项1:允许一次仅一个进程进入临界区,满足互斥要求,正确。
C选项2D选项3:会允许同时多个进程进入临界区,破坏互斥,错误。
选择选项 B。

问题 2
(a)进入检查与扣减余票的临界区前,应申请互斥资源,用P(S)
(b)若余票不足(分支N),应尽快离开临界区并释放互斥,用V(S)
(c)成功扣减并回写余票后,同样释放互斥,用V(S)
因此序列应为P(S),V(S),V(S)
B/C/D选项中,要么进入时未申请互斥,要么在失败分支未释放或错误加锁,都会造成竞争或死锁,错误。
选择选项 A。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有