【正确答案】
C
【答案解析】[解析] 流程图中的A、B、C、D4个框中分别应该填写:P(mutex)、V(mutex)、P(S)、P(mutex)或者P(mutex)、V(mutex)、P(mutex)、P(S)。首先应该明确这里的缓冲区是临界资源,所以“把缓冲区放到信息链尾”和“从缓冲区中取出消息”是互斥的。在操作前都要,P(mutex),成功的P操作后,进入临界区,退出时V(mutex),又mutex作为互斥信号量,初值应为1。
S作为同步信号量,发送者进程发送完信息后进行V(s),表示信号链中信息的个数增加1,作为接收者进程必须有相应的表示取走信息的P(S)操作。S是资源信号量,是用来表示信号链中信息的个数,其初值要根据进程的初始状态确定,这里初始为空,所以其初值应设置为0。