A-A+

若系统中有多个发送进程和接收进程 进程间的工作流程如图4-2所示 其中空 (1)~(4)的内

2022-08-05 20:12:56 问答库 阅读 171 次

问题详情

若系统中有多个发送进程和接收进程,进程间的工作流程如图4-2所示,其中空 (1)~(4)的内容与图4-1相同。发送进程产生消息并顺序地写入环形缓冲区BUFFER,接收者进程顺序地从BUFFER中取消息,且每条消息只能读取一次。为了保证进程间的正常通信,增加了信号量SA和SB。
①请说明信号量SA和SB的物理意义,并在图4-2中的空(5)和空(6)处填入正确的内容。
②请从图4-2的(a)~(1)中选择四个位置正确地插入P(SA)、V(SA)、P(SB)、V(SB)。

参考答案

正确答案:表示允许同时对缓冲区进行写操作的进程数量表示允许同时对缓冲区进行读操作的进程数量P(SA)插入位置(b)V(SA)插入位置(f)P(SB)插入位置(h)V(SB)插入位置(k)。解法2:表示允许同时对缓冲区进行读操作的进程数量表示允许同时对缓冲区进行写操作的进程数量P(SB)插入位置(b)V(SB)插入位置(f)P(SA)插入位置(h)V(SA)插入位置(k)。
表示允许同时对缓冲区进行写操作的进程数量表示允许同时对缓冲区进行读操作的进程数量P(SA)插入位置(b),V(SA)插入位置(f),P(SB)插入位置(h),V(SB)插入位置(k)。解法2:表示允许同时对缓冲区进行读操作的进程数量表示允许同时对缓冲区进行写操作的进程数量P(SB)插入位置(b),V(SB)插入位置(f),P(SA)插入位置(h),V(SA)插入位置(k)。 解析:当系统中有多个发送进程和接收进程时,对缓冲区的写操作应互斥地进行,并且发送进程对下标i的修改要顺序地进行:同时,要保证每个消息只能被读取1次,对缓冲区的读操作也要互斥地进行,并且接收进程对下标j的修改要顺序地进行。因此,信号量SA和SB用于对缓冲区的写、读操作进行互斥控制。

考点:进程,系统