138

问答题 138 /170

进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系? 
(1)若干同学去图书馆借书。 
(2)两队举行篮球比赛。 
(3)流水线生产的各道工序。 
(4)商品生产和消费。

参考答案

进程间存在着两种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同的资源所发生的制约关系。(1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学。(2)属于互斥关系,篮球只有一个,两队都要争夺。(3)属于同步关系,各道工序的开始都依赖前道工序的完成。(4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无需进行。