资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,1,:,有父母子女四人围坐一起吃水果,父亲不,断削苹果往盆中放,母亲不断削梨往盆中,放,女儿则从盆中取苹果吃,儿子则从盆,中取梨吃,假如盆中最多只能放,N,只水果,如果把每个人的活动用一个进程实现,试用信号量实现这四个并发进程的同步。,设,S=N,,,S1=0,,,S2=0,父:母:子:女:,while(1)while(1)while(1)while(1),削苹果 削梨,wait(s1)wait(s2),wait(s),wait(s,),拿苹果,拿梨,放苹果 放梨,signal(s,),signal(s,),signal(s1)signal(s2),吃苹果 吃梨,解,2:,设在公共汽车上,司机和售票员的活动分别是:,司机:启动车辆,正常行车,到站停车,售票员:上下乘客,关车门,售票,开车门,在汽车不断地到站、停车、行驶过程中、这两个活动有什么同步关系?并用信号量实现它们的同步关系。,设,s1=0,,,s2=0,司机:,司机:,While,(,1,),While,(,1,),wait(s1),上下乘客;,启动车辆;关车门;,正常行驶;,signal(s1);,到站停车;售票;,signal(s2),;,wait(s2);,开车门;,车船,过桥问题,船,:wait,(,SA,);,吊起过,A,桥墩;,航行,wait,(,SB,);,吊起过,B,桥墩,,航行;,通过,A,桥,signal,(,SA,);,通过,B,桥,signal,(,SB,);,采用信号量实现,A,桥:信号量,SA=1 B,桥:信号量,SB=1,车,:wait,(,SB,);,过,B,桥;,signal,(,SB,);,过弯道;,wait,(,SA,);,过,A,桥;,signal,(,SA,);,船,:wait,(,SA,);,吊起过,A,桥墩;,航行,wait,(,SB,);,吊起过,B,桥墩,,航行;,通过,A,桥,signal,(,SA,);,通过,B,桥,signal,(,SB,);,死锁发生的条件,交通繁忙,驳船长度,100,米,有序资源使用法,不让车、船分别占有,B,、,A,又请求,A,、,B,弯道,有界缓中区,只有弯道有空,车就可以通过,B,桥,进入弯道,而不会占用,B,桥不放,3,信号量,A,桥:,SA=1,B,桥:,SB=1,弯道可容纳汽车数车位:,Sn,=n,车:公路,;,船:海上;,wait,(,Sn,);,wait,(,SA,);,wait,(,SB,);,船头行驶至,B,桥;,过,B,桥;,wait,(,SB,);,signal,(,SB),;,行驶;,过弯道;船尾过,A,桥;,wait,(,SA,);,signal,(,SA,);,上,A,桥;船尾过,B,桥;,signal,(,Sn,);,signal,(,SB,);,过,A,桥;航行;,signal,(,SA,);,公路;,
展开阅读全文