单选题
进程P
A
不断地向管道写数据,进程P
B
从管道中读数据并加工处理,如下图所示。如果采用PV操作来实现进程P
A
和进程P
B
间的管道通信,并且保证这两个进程并发执行的正确性,则至少需要______。
A、
1个信号量,信号量的初值为0
B、
2个信号量,信号量的初值分别为0、1
C、
3个信号量,信号量的初值分别为0、0、1
D、
4个信号量,信号量的初值分别为0、0、1、1
【正确答案】
B
【答案解析】
进程PA是生产者,它不断地向管道写数据,进程P
B
是消费者,它从管道中读取数据并加工处理,管道是临界区。为了实现P
A
与P
B
进程的同步问题,需要设计一个信号量S1,且赋值为1,表示管道未满,可以将数据写入管道;设置另一个信号量S2,与管道是否有数据联系起来,当信号量的值为“0”时表示进程P
A
还未将数据写入管道,当信号量的值为非“0”时表示管道有数据存在,进程P
B
可以从管道中读数据并加工处理。综上所述,保证这两个进程并发执行的正确性,则至少需要2个信号量,信号量的初值分别为0、1。
提交答案
关闭