某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。

admin2019-04-09  36

问题 某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。


选项 A、V(S2)、P(S1)
B、P(S1)、V(S2)
C、P(S2)、V(S1)
D、V(S1)、P(S2)

答案C

解析 进程同步是进程之间的合作而引起的制约问题。要实现进程同步,可使用一个信号量与消息联系起来,信号量如果为0,表示消息未产生;信号量如果为1,表示消息已存在。本题是最简单的单缓冲区的生产者和消费者的同步问题。
   P操作的定义是:S=S-1,若S>=0,则执行P操作的进程继续执行。若S<0,则进程进入阻塞状态。
V操作的定义是:S=S+1,若S>O,则执行V操作的进程继续执行。若S<=0,则进程唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
   第1空的正确答案为选项B。第2空的正确答案为选项C。
转载请注明原文地址:https://jikaoti.com/ti/EdL7FFFM
0

最新回复(0)