今有三个进程R,W1,W2共享一个缓冲器B,B中每次只能放一个数。进程每次启动输入设备读一个数且把它放到缓冲器B中,若放到缓冲器的是奇数,则由W1取出打印处理,若放到缓冲器的是偶数,则由W2。规定缓冲区无数据时,才能放下一个数,而数据也不能重复打印。为了实现三个进程的同步与互斥,需定义三个信号量:S、S1、S2,才能保证正确的并发执行,现程序结构如下所示。请在下述程序的空(1)~(7)处填上适当的PV操作,以保证他们能正确的并发执行;说明S、S1、S2的作用。
出自:02323《操作系统概论》