【正确答案】
C
【答案解析】[解析] 本题是考查信号量概念与P、V操作的实际运用,解决进程之间的同步与互斥问题。这个问题看起来是两对生产者与消费者组合的问题。由于进程P、Q、R存在着供给与消费的关系,这种关系体现了一种次序依赖关系。一方面,进程Q必须等待进程P接收到一批数据并将其放入缓冲区K后才可以取来加工,进程R必须等待进程Q将一批数据加工完成并放入缓冲区T以后才可以取来打印;另一方面,进程P必须等待进程Q取走缓冲区K的数据后才能将下一批数据放入K中,进程Q必须等进程R将缓冲区T的数据取走进行打印后才可以将加工好了的下一批数据放入T中。但是,进程P和Q之间并没有直接的依赖关系。因此,系统呈现这样一种工作流程:
[*]
因此,进程P和Q之间存在两个同步条件,需要有两个信号量S1和S2来保证进程P和Q的同步关系,它们的初值分别为1和0;进程Q和R之间也一样,需要有两个信号量 S1和S2来保证它们的同步关系,初值也分别是1和0。
下图表示这3个进程的工作流程。
[*]