2个优先级相同的并发进程P1和P2,它们的执行过程如下所示,假设当前信号量s1=0,s2=0,当前的z=2,进程运行结束后,x、y和z的值分别为( )。 进程P1 进程P2

admin2018-08-12  36

问题 2个优先级相同的并发进程P1和P2,它们的执行过程如下所示,假设当前信号量s1=0,s2=0,当前的z=2,进程运行结束后,x、y和z的值分别为(    )。
                     进程P1              进程P2
                     ……                ……
                     y:=1;             x:=1;
                     y:=y+2;           x:=x+1;
                     z:=y+1;           P(s1);
                     V(s1);             x:=x+y;
                     P(s2);             z:=x+z;
                     y:=z+y;           V(s2);
                     ……                ……

选项 A、5,9,9
B、5,9,4
C、5,12,9
D、5,12,4

答案C

解析 本题考查并发进程的特点,并结合信号量进行同步的原理。由于进程并发,所以进程的执行具有不确定性,在P1、P2执行到第一个P、V操作前,应该是相互无关的。
    现在考虑第一个对l的P、V操作,由于进程P2是P(s1)操作,所以,它必须等待P/1执行完V(s1)操作以后才可继续运行,此时x、y、z的值分别为3、3、4,当进程P1执行完V(s1)以后便在P(s2)上阻塞,此时P2可以运行直到V(s2),此时x、y、z值分别为5、3、9,进程P1继续运行直到结束,最终的x、y、z值分别为5、12、90
转载请注明原文地址:https://kaotiyun.com/show/R0Ri777K
0

最新回复(0)