某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲中取

admin2022-08-02  54

问题 某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲中取产品消费。假设该缓存区只能容纳一个产品。进程P1和P2的同步模型如下图所示:为此,应设信号量S1的初值为() ,信号量S2的初值为() 。A.-2B.-1C.0D.1

选项 A.-2
B.-1
C.0
D.1

答案 D

解析 由于系统中只有一个缓冲区,需要设置一个信号量S1,且初值为1,表示缓冲区空,可以将产品送入缓冲区。为了实现P1与P2进程间地同步间题,设置另一个信号量S2,且初值为O,表示缓冲区有产品。这样,当生产者进程P1生产产品送入缓冲区时需要判断缓冲区是否为空,需要执行P(S1),产品放入缓冲区后需要执行V(s2),通知消费者缓冲区已经有产品。而消费者进程P2在取产品消费之前必须判断缓冲区是否有产品,需要执行P(S2),取走产品后缓冲区空了,需要执行V(S1),释放缓冲区。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2432118.html

最新回复(0)