进程Pa不断向管道写数据,进程Pb从管道中读取数据并加工处理,如图2—7所示。如果采用PV操作来实现进程Pa和Pb的管道通信,并且保证这两个进程并发执行的正确性,则至少需要( )。

admin2017-08-31  34

问题 进程Pa不断向管道写数据,进程Pb从管道中读取数据并加工处理,如图2—7所示。如果采用PV操作来实现进程Pa和Pb的管道通信,并且保证这两个进程并发执行的正确性,则至少需要(    )。

选项 A、1个信号量,信号量的初始值为0
B、2个信号量,信号量的初始值为0、1
C、3个信号量,信号量的初始值为0、0、1
D、4个信号量,信号量的初始值为0、0、1、1

答案B

解析 这是一个典型的生产者和消费者问题。其中进程Pa和Pb分别为生产者和消费者,管道为临界区。我们的程序应该设置一个同步信号量,为1时说明管道已满拒绝Pa再写入数据;为O时说明管道为空拒绝Pb再读出数据。管道初始是没有数据的,所以初始值为0(特例情况即管道的大小为1个单位)。程序还需要1个互斥信号量来保证程序只有一个进程访问管道,其初始值为1。
转载请注明原文地址:https://jikaoti.com/ti/Gon7FFFM
0

相关试题推荐
最新回复(0)