【软考|软件设计师】进程p1,p2,p3,p4,p5和p6的前趋图

目录

题目:

答:


题目:

进程p1,p2,p3,p4,p5p6的前趋图如下图所示。用PV操作控制这6个进程之间同步与互斥

的程序如下,程序中的空(1)和空(2)处应分别为________,空(3)和空(4)处分别为________,

空(5)和空(6)处应分别为________.

begin

S1 , S2,  S3,  S4,  S5,  S6:  semaphore; //定义信号量

S1:=0;  S2:=0;  S3:=0;  S4:=0;  S5:=0;  S6:=0;

Cobegin

  process P1        process P2         process P3      process P4    process P5   process P6

   begin                begin                  begin               begin              begin           begin

   P1执行;         (1);                     P(S2)               (4)                P(S4);        (6)

   V(S1);      P2执行               P3执行              P4执行          P5执行         P(S6)

  end;                 (2);                 (3);            V(S5)        (5)            P6执行

 Coend;             end;                     end;                  end;                 end;           end;

end;

答:

PV操作中的P代表通过,V代表释放

从图可知,P1是第一个进程,P6是最后一个进程,

因此P1只有V操作,信号量是S1,即V(S1),

而P6只有P操作,信号量是S5和S6,结果为P(S5)和P(S6)

中间进程P2,P3,P4,P5不仅有P操作也有V操作:

P2:      P(S1) , V(S2),V(S3)

P3:      P(S2),  V(S4)

P4:      P(S3), V(S5)

P5:      P(S4), V(S6)

综上:

空(1):  P(S1)

空(2):  V(S2) V(S3)

空(3):  V(S4)

空(4): P(S3)

空(5)   :  V(S6)

空(6):p(S5)