下图给出了四个进程合作完成某一任务的前驱图,试说明这四个进程的同步关系,并用信号量描述它。

admin2016-06-30  19

问题 下图给出了四个进程合作完成某一任务的前驱图,试说明这四个进程的同步关系,并用信号量描述它。

选项

答案main( ) {Semaphorea=b=c=d=0 Cobegin} {S1;signal(a);signal(b);} {wait(a);S2;signal(c);} {wait(b);S3;signal(d);} {wait(c);wait(d);S4;}

解析 图中说明任务启动后S1先执行,当S1结束后,S2、S3可以开始执行,S2、S3执行完成后,S4才可以开始执行。
为了确保这一执行顺序,设4个同步信号量a、b、c、d分别表示S1—>S2、S1—>S3、S2—>S3、S2—>S4的前驱关系,初始值均为0。利用信号量的wait()和signal( )操作来实现同步。
转载请注明原文地址:https://kaotiyun.com/show/v9Ax777K
本试题收录于: 操作系统题库理工类分类
0

最新回复(0)