参考答案和解析
正确答案:Var a,b,c,d,e,f,g:semaphore:=0,0,0,0,0,0,0;

begin
parbegin
begin S1;signal(a);signal(b);end;
begin wait(a);s2; signal(c); signal(d); end;
begin wait(b);s3; signal(e); end;
begin wait(c);s4; signal(f); end;
begin wait(d);s5; signal(g); end;
begin wait(e);wait(f);wait(g);s6; end;
parend
end
更多“用信号量实现下列前趋图。 ”相关问题
  • 第1题:

    什么是前趋图?为什么要引入前趋图?


    答案:前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG(DirectedAcyclicGraph),用于描述进程之间执行的前后关系。

  • 第2题:

    不需要信号量能实现的功能是()。

    A.进程同步
    B.进程互斥
    C.执行的前趋关系
    D.进程的并发执行

    答案:D
    解析:
    在多道程序技术系统中,信号量机制是一种有效的实现进程同步与互斥的工具。进程执行的前趋关系实质上是指进程的同步关系。除此以外,只有进程的并发执行不需要信号量来控制。

  • 第3题:

    25、用P、V操作管理临界区时,一个进程在进入临界区前应对信号量执行 __操作,退出临界区时应对信号量执行 ___ 操作。


    -n

  • 第4题:

    进程P1、P2、P3、P4和P5的前趋图如下图所示:



    若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号量S1.S2.S3.S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填写( );c和d处应分别填写( ),e和f处应分别填写(请作答此空)。



    答案:B
    解析:
    根据前驱图,P1进程执行完需要通知P2和P3进程,故需要利用V(S1)V(S2)操作通知P2和P3进程,所以空a应填V(S1)V(S2);P2进程执行完需要通知P4进程,所以空b应填V(S3)。根据前驱图,P3进程运行前需要等待P1进程的结果,故需执行程序前要先利用1个P操作,而P3进程运行结束需要通知P5进程。根据排除法可选项只有选项B和选项C。又因为P3进程运行结束后需要利用1个V操作通知P5进程,根据排除法可选项只有选项B满足要求。根据前驱图,P4进程执行结束需要利用1个V操作通知P5进程,故空e处需要1个V操作;P5进程执行前需要等待P3和P4进程的结果,故空f处需要2个P操作。根据排除法可选项只有选项B和选项C能满足要求。根据试题(27)分析可知,P3进程运行结束是利用V(S4)通知P5进程,故P4进程运行结束是利用V(S5)通知P5进程。

  • 第5题:

    用P、V操作管理临界区时,一个进程在进入临界区前应对信号量执行 __操作,退出临界区时应对信号量执行 ___ 操作。


    P操作V操作