进程P1、P2、P3、P4、P5的前趋关系图如下所示:若用PV操作控制这5个进程的同步与互斥,程序如下: 程序中空a和空b处应分别为(48),空c和空d处应分别为(49);空e和空f处应分别为(50)。A.AB.BC.CD.D

题目

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

若用PV操作控制这5个进程的同步与互斥,程序如下: 程序中空a和空b处应分别为(48),空c和空d处应分别为(49);空e和空f处应分别为(50)。

A.A

B.B

C.C

D.D


相似考题
更多“进程P1、P2、P3、P4、P5的前趋关系图如下所示:若用PV操作控制这5个进程的同步与互斥,程序如下: 程序中空a和空b处应分别为(48),空c和空d处应分别为(49);空e和空f处应分别为(50)。A.AB.BC.CD.D”相关问题
  • 第1题:

    进程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和g处应分别填写( )。

    A. V(S1)、P(S1)和V(S2)V(S3)
    B. P(S1)、V(S1)和V(S2)V(S3)
    C. V(S1)、V(S2)和P(S1)V(S3)
    D. P(S1)、V(S2)和V(S1)V(S3)

    答案:A
    解析:
    试题的正确的选项为A。根据前驱图,P1进程执行完需要通知P2进程,故需要利用V(S1)操作通知P2进程,所以空a应填V(S1);P2进程需要等待P1进程的结果,故需要利用P(S1)操作测试P1进程是否运行完,所以空b应填P(S1);又由于P2进程运行结束需要利用V(S2)、V(S3)操作分别通知P3、P4进程,所以空c应填V(S2)、V(S3)。

  • 第2题:

    进程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处应分别填写( )。


    A. V(S1)、P(S2)和V(S3)
    B. P(S1)、V(S2)和V(S3)
    C. V(S1)、V(S2)和V(S3)
    D. P(S1)、P(S2)和V(S3)

    答案:C
    解析:
    根据前驱图,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进程。

  • 第3题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(23);空③和空④处应分别为(24);空⑤和空⑥处应分别为(25)。


    A.V (S3)和V (S5) V (S6)
    B.P (S3)和V (S5) V (S6)
    C.V (S3)和P (S5) P (S6)
    D.P (S3)和P (S5) P (S6)(22)

    答案:B
    解析:
    图中有八条箭线,因此,需要设置八个信号量。按照从小到大的顺序分别是:P1→P2对应S1,P1→P3对应S2,P2→P3对应S3,P2→P3对应S3,P2→P4对应S4,P3→P4对应S5,P3→P5对应S6,P4→P6对应S7,P5→P6对应S8。每个进程开始的时候执行P操作(P1没有P操作,只有V操作),结束的时候执行V操作。例如,P2开始的时候执行P(S1)的操作,结束时执行V(S3)和V(S4)的操作,P3开始的时候执行P(S2)P(S3)的操作,结束时执行V(S5)和V(S6)的操作,其他同理。

  • 第4题:

    进程P1、P2、P3、P4、P5的前趋图如下。



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


    A.P(S3)V(S4)、V(S5)和P(S5)
    B.V(S3)V(S4)、P(S5)和V(S5)
    C.P(S3)P(S4)、V(S5)和P(S5)
    D.V(S3)P(S4)、P(S5)和V(S5)

    答案:C
    解析:
    根据前驱图,P1进程运行结束需要利用V操作分别通知P2和P3进程,所以用V (SI)操作通知P2进程,用V (S2)操作通知P3进程。根据前驱图,P2进程开始运行前必须等待P1进程的通知,需要用P (S1)操作测试PI进程是否运行完,P2进程运行结束而要利用V (S3)操作通知P4进程。同理根据前驱图P3进程开始运行前必须等待P1进程的通知,需要用P(S2)操作测试P1进程是否运行完,P3进程运行到结束需要利用V (S4)操作通知P4进程。根据前驱图,P4进程开始运行前必须等待P2和P3进程的通知,需要用P (S3)和P (S4)操作分别测试P2和P3进程是否运行完,故空f应填写P (S3) P (S4) 0 P4进程运行结束需利用V (S5)操作通知P5进程,故空g应填写V(S5) o根据前驱图,P5进程开始运行前必须等待P4进程的通知,需要用P (S5)操作测试P4进程是否运行故空(17)填写P (S5)。

  • 第5题:

    进程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处应分别填写( ) 。

    A.P(S2)和P(S4)
    B.V(S2)和P(S4)
    C.P(S2)和V(S4)
    D.V(S2)和V(S4)

    答案:C
    解析:
    图中有五条箭线,因此需要设置五个信号量,按照从小到大的顺序分别是:P1→P2是S1,P2→P3是S2,P2→P4是S3,P3→P4是S4,P4→P5是S5。每个进程开始的时候执行P操作(P1没有P操作,只有V操作),结束的时候执行V操作,如P2开始的时候执行P(S1)的操作,结束时执行V(S2)的操作。其他同理。

  • 第6题:

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



    若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为( );空③和空④处应分别为( );空⑤和空⑥处应分别为(请作答此空)。


    A.P(S6)和P(S5)V(S6)
    B.V(S5)和V(S5)V(S6)
    C.V(S6)和P(S5)P(S6)
    D.P(S6)和P(S5)P(S6)

    答案:C
    解析:
    首先标明信号然后由题可知DBC

  • 第7题:

    进程Pl、P2、P3、P4、P5和P6的前趋图如下图所示:若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(请作答此空 );空③和空④处应分别为( );空⑤和空⑥处应分别为( )。

    若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(23);空③和空④处应分别为(24);空⑤和空⑥处应分别为(25)。


    A.V (S1) V (S2)和P (S2)
    B.P (S1) P (S2)和V (S2)
    C.V (S1) V (S2)和P (S1)
    D.P (S1) P (S2)和V (S1)

    答案:C
    解析:
    图中有八条箭线,因此,需要设置八个信号量。按照从小到大的顺序分别是:P1→P2对应S1,P1→P3对应S2,P2→P3对应S3,P2→P3对应S3,P2→P4对应S4,P3→P4对应S5,P3→P5对应S6,P4→P6对应S7,P5→P6对应S8。每个进程开始的时候执行P操作(P1没有P操作,只有V操作),结束的时候执行V操作。例如,P2开始的时候执行P(S1)的操作,结束时执行V(S3)和V(S4)的操作,P3开始的时候执行P(S2)P(S3)的操作,结束时执行V(S5)和V(S6)的操作,其他同理。

  • 第8题:

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

    若用 PV 操作控制这 6 个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(请作答此空);空③和空④处应分别为( );空⑤和空⑥处应分别为(请作答此空)。

    A.V(S3)和 V(S5)
    B.P(S3)和 V(S5)
    C.V(S3)和 P(S5)
    D.P(S3)和 P(S5)

    答案:B
    解析:
    图中有七条箭线,因此需要设置七个信号量,按照从小到大的顺序分别是:P1→P2对应S1,P1→P3对应S2,P2→P3对应S3,P2→P3对应S3,P2→P4对应S4,P3→P5对应S5,P4→P5对应S6,P5→P6对应S7。每个进程开始的时候执行P操作(P1没有P操作,只有V操作),结束的时候执行V操作,如P2开始的时候执行P(S1)的操作,结束时执行V(S3)的操作,P3开始的时候执行P(S2)P(S3)的操作,结束时执行V(S5)的操作,其他同理。

  • 第9题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为( );空③和空④处应分别为(请作答此空);空⑤和空⑥处应分别为( )。

    A.V (S3)和V (S5) V (S6)
    B.P (S3)和V (S5) V (S6)
    C.V (S3)和P (S5) P (S6)
    D.P (S3)和P (S5) P (S6)

    答案:B
    解析:
    图中有八条箭线,因此,需要设置八个信号量。按照从小到大的顺序分别是:P1→P2对应S1,P1→P3对应S2,P2→P3对应S3,P2→P3对应S3,P2→P4对应S4,P3→P4对应S5,P3→P5对应S6,P4→P6对应S7,P5→P6对应S8。每个进程开始的时候执行P操作(P1没有P操作,只有V操作),结束的时候执行V操作。例如,P2开始的时候执行P(S1)的操作,结束时执行V(S3)和V(S4)的操作,P3开始的时候执行P(S2)P(S3)的操作,结束时执行V(S5)和V(S6)的操作,其他同理。

  • 第10题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空a、空b和空c处应分别为(46)。

    A.V(S3)、P(S2)和V(S4)V(S5)
    B.P(S3)、P(S2)和V(S4)V(S5)
    C.V(S2)、P(S3)和P(S4)P(S3)
    D.V(S2)、V(S3)和P(S3)P(S4)

    答案:A
    解析:
    对于试题(46),根据前驱图P2进程需要等待P1进程的通知,故需要利用P (S1) 操作测试P1进程是否运行完,P2进程运行结束需要利用V操作分别通知P4进程,所以空a应填V (S2)用以通知P4进程可以执行:前驱图P3进程开始运行前必须等待P1 进程的通知,需要用P操作测试P1进程是否运行完,所以空b应填P (S2)操作测试P1进程是否运行完;P3进程运行结束需要利用V (S4) V (S5)操作通知P4和P5进程可以开始运行,故空c应填V (S4) V (S5)。

  • 第11题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,空⑤和空⑥处应分别为(50)。

    A.P(S6)和V(S5)
    B.P(S6)和P(S5)
    C.V(S5)和V(S6)
    D.V(S6)和P(S5)

    答案:D
    解析:
    根据前驱图P4、P5进程执行完都需要通知P6进程,P6进程运行前执行了P(S6)和P(S7),而P5进程执行完后执行了V(S7),故P4进程应该执行V(S6),即空⑤应填V(S6)。又因为P5进程开始运行前必须等待P3进程的通知,需要用P(S5)操作测试P3进程是否运行完。故空⑥应填写P(S5)。

  • 第12题:

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

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

    A. P(S1)P(S2)和P(S3)P(S4)
    B. P(S1)V(S2)和P(S2)V(S1)
    C. V(S1)V(S2)和V(S3)V(S4)
    D. P(S1)P(S2)和V(S1)V(S2)

    答案:C
    解析:
    本题主要考查用PV操作控制进程的并发执行。首先我们需要弄清楚前驱图中给出的各进制的执行顺序。从图中我们不难看出进程P1和P2没有前驱,也就是可以首先并发执行,而进程P3的前驱是P1和P2,P4的前驱是P1和P3,P5的前驱是P2和P3。那么怎么理解前驱呢?其实前驱就是指只有在前驱进程完成后,该进程才能开始执行。
    在本题的前驱图中我们不难看出,有6条路径,分别是P1->P3,P1->P4,P2->P3,P2->P5,P3->P4,P3->P5。而且题目也告诉我们分别有6初值为0个信号量(S1-S6),要我们用PV操作来控制进程P1~P5的并发执行。这里我们就需要清楚P与V这两种操作。
    P原语的主要操作是:
    (1)信号量(sem)减1;   
    (2)若相减结果大于等于零,则进程继续执行;   
    (3)若相减结果小于零,则阻塞一个在该信号量上的进程,然后再返回原进程继续执行或转进程调度。
    V原语的主要操作是:   
    (1)信号量(sem)加1;   
    (2)若相加结果大于零,则进程继续执行;   
    (3)若相加结果小于或等于零,则唤醒一阻塞在该信号量上的进程,然后再返回原进程继续执行或转进程调度。
    总而言之,进行P操作的主要目的是阻塞某信号量上的进程,而进行V操作的主要目的是唤醒某信号量上的进程。
    下面我们具体来求解这个题目。a空处,是在进程P1执行完成以后,那么根据题目的前驱图我们可以知道,这个时候它应该唤醒它的后继进程P3和P4,因此需要执行两个V操作,同样的道路,b空处也需要执行两个V操作,因此可以知道第一空答案选C。
    至于C空处,它是在进程P3执行前进行的处理。根据前驱的意义,我们可以知道执行P3要在P1和P2完成后,因此这个时候,它首先需要判断P1和P2进程是否完成,如何它们完成的话,会分别执行唤醒P3的V操作(换句话说就是会给相应的信号量进行加1操作),那么这个时候我们也可以通过同样的信号量来判断,即对相应的信号量进行减1操作,判断它是否大于0,如果大于等于0,则执行P3。从题目给出的答案来看,这两个信号量应该分别是S1和S3。那么执行完P3后,它也需要唤醒它的后继进程P4和P5,因此需要执行两个V操作,因此D空处应该是两个V操作。综上所述,我们可以知道第二空的答案选B。
    分析到这里后,第三空的答案应该就很明显了,P4和P5进程在执行前,都需要做与P3进程执行前一样的判断,因此都需要进行两个P操作。所以本题答案选C。
    其实做这类题也不难,首先需要我们对PV操作要有一个透彻的理解,另外就是能分析出题目执行的逻辑关系。

  • 第13题:

    进程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进程。

  • 第14题:

    进程P1、P2、P3、P4、P5的前趋图如下。



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


    A.P(S1)和P(S2)、V(S3)和V(S4)
    B.P(S1)和P(S2)、P(S3)和P(S4)
    C.V(S1)和V(S2)、P(S3)和P(S4)
    D.P(S1)和V(S3)、P(S2)和V(S4)

    答案:D
    解析:
    根据前驱图,P1进程运行结束需要利用V操作分别通知P2和P3进程,所以用V (SI)操作通知P2进程,用V (S2)操作通知P3进程。根据前驱图,P2进程开始运行前必须等待P1进程的通知,需要用P (S1)操作测试PI进程是否运行完,P2进程运行结束而要利用V (S3)操作通知P4进程。同理根据前驱图P3进程开始运行前必须等待P1进程的通知,需要用P(S2)操作测试P1进程是否运行完,P3进程运行到结束需要利用V (S4)操作通知P4进程。根据前驱图,P4进程开始运行前必须等待P2和P3进程的通知,需要用P (S3)和P (S4)操作分别测试P2和P3进程是否运行完,故空f应填写P (S3) P (S4) 0 P4进程运行结束需利用V (S5)操作通知P5进程,故空g应填写V(S5) o根据前驱图,P5进程开始运行前必须等待P4进程的通知,需要用P (S5)操作测试P4进程是否运行故空(17)填写P (S5)。

  • 第15题:

    进程P1、P2、P3、P4、P5的前趋图如下。



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


    A.P(S1)和P(S2)
    B.V(S1)和V(S2)
    C.P(S1)和V(S2)
    D.P(S2)和V(S1)

    答案:B
    解析:
    根据前驱图,P1进程运行结束需要利用V操作分别通知P2和P3进程,所以用V (SI)操作通知P2进程,用V (S2)操作通知P3进程。根据前驱图,P2进程开始运行前必须等待P1进程的通知,需要用P (S1)操作测试PI进程是否运行完,P2进程运行结束而要利用V (S3)操作通知P4进程。同理根据前驱图P3进程开始运行前必须等待P1进程的通知,需要用P(S2)操作测试P1进程是否运行完,P3进程运行到结束需要利用V (S4)操作通知P4进程。根据前驱图,P4进程开始运行前必须等待P2和P3进程的通知,需要用P (S3)和P (S4)操作分别测试P2和P3进程是否运行完,故空f应填写P (S3) P (S4) 0 P4进程运行结束需利用V (S5)操作通知P5进程,故空g应填写V(S5) o根据前驱图,P5进程开始运行前必须等待P4进程的通知,需要用P (S5)操作测试P4进程是否运行故空(17)填写P (S5)。

  • 第16题:

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



    若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(请作答此空);空③和空④处应分别为( );空⑤和空⑥处应分别为( )。


    A.V(S1)和P(S2)
    B.P(S1)和V(S2)
    C.V(S1)和V(S2)
    D.V(S2)和P(S1)

    答案:B
    解析:
    首先标明信号然后由题可知DBC

  • 第17题:

    假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为10、5和3。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示,此时系统剩余的可用资源数分别为( )。如果进程按(请作答此空)序列执行,那么系统状态是安全的。

    A.P1→P2→P4→P5→P3
    B.P5→P2→P4→P3→P1
    C.P4→P2→P1→P5→P3
    D.P5→P1→P4→P2→P3

    答案:B
    解析:
    初始时系统的可用资源数分别为10、5和3。在T0时刻已分配资源数分别为8、5和2,因此系统剩余的可用资源数分别为2、0和1。安全状态是指系统能按某种进程顺序(P1,P2,…,Pn),来为每个进程Pi分配其所需的资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利完成。如果无法找到这样的一个安全序列,则称系统处于不安全状态。本题进程的执行序列已经给出,我们只需将四个选项按其顺序执行一遍,便可以判断出现死锁的三个序列。



    P1→P2→P4→P5→P3是不安全的序列。因为在该序列中,进程P1先运行,P1尚需资源数为(4,2,0),假设将资源R1分配2台给进程P1,则系统剩余的可用资源数为(0,0,1),将导致系统所有的进程都不能作上能完成标志"True"。P5→P2→P4→P3→P1是安全的序列。因为所有的进程都能作上能完成标志"True",如下表所示。



    P5→P2→P4→P3→P1具体分析如下:①进程P5运行,系统剩余的可用资源数为(2,0,1),P5尚需资源数为(1,0,1),系统可进行分配,故进程P5能作上能完成标志"True",释放P5占有的资源数(1,1,0),系统可用资源数为(3,1,1)。②进程P2运行,系统剩余的可用资源数为(3,1,1),P2尚需资源数为(1,1,1),系统可进行分配,故进程P2能作上能完成标志"True",释放P2占有的资源数(2,1,0),系统可用资源数为(5,2,1)。③进程P4运行,系统剩余的可用资源数为(5,2,1),P4尚需资源数为(2,2,1),系统可进行分配,故进程P4能作上能完成标志"True",释放P4占有的资源数(1,1,1),系统可用资源数为(6,3,2)。④进程P3运行,系统剩余的可用资源数为(6,3,2),P3尚需资源数为(3,0,1),系统可进行分配,故进程P3能作上能完成标志"True",释放P3占有的资源数(3,1,0),系统可用资源数为(9,4,2)。⑤进程P1运行,系统剩余的可用资源数为(9,4,2),P1尚需资源数为(4,2,0),系统可进行分配,故进程P1能作上能完成标志"True",释放P1占有的资源数(1,1,1),系统可用资源数为(10,5,3)。P4→P2→P1→P5→P3是不安全的序列。因为在该序列中,进程P4先运行,P4尚需资源数为(2,2,1),假设将资源R1分配2台给进程P4,则系统剩余的可用资源数为(0,0,1),将导致系统所有的进程都不能作上能完成标志"True"。P5→P1→P4→P2→P3是不安全的序列。因为在该序列中,进程P5先运行,系统剩余的可用资源数为(2,0,1),P5尚需资源数为(1,0,1),系统可进行分配,故进程P5能作上能完成标志"True",释放P5占有的资源数(1,1,0),系统可用资源数为(3,1,1)。进程P1运行,P1尚需资源数为(4,2,0),假设将资源R1分配3台给进程P1,则系统剩余的可用资源数为(0,1,1),将导致系统中的进程P1、P2、P3和P4都不能作上能完成标志"True"。

  • 第18题:

    进程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处应分别填写( ) 。


    A.V(S1)和P(S2)V(S3)
    B.P(S1)和V(S2)V(S3)
    C.V(S1)和V(S2)V(S3)
    D.P(S1)和P(S2)V(S3)

    答案:B
    解析:
    图中有五条箭线,因此需要设置五个信号量,按照从小到大的顺序分别是:P1→P2是S1,P2→P3是S2,P2→P4是S3,P3→P4是S4,P4→P5是S5。每个进程开始的时候执行P操作(P1没有P操作,只有V操作),结束的时候执行V操作,如P2开始的时候执行P(S1)的操作,结束时执行V(S2)的操作。其他同理。

  • 第19题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(48)

    A.V(S1)和P(S2)
    B.P(S1)和V(S2)
    C.V(S1)和V(S2)
    D.V(S2)和P(S1)

    答案:B
    解析:
    (48)根据前驱图,P2进程需要等待P1进程的通知,故需要利用P(S1)操作测试P1进程是否运行完,所以空①应填P(S1),P2进程运行结束需要利用V操作分别通知P3、P4进程,由于P3进程执行前已经用P(S2),所以空②应填V(S2)。

  • 第20题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,空f和空g处应分别为(48)。

    A.V(S5)和V(S7)
    B.P(5)和P(S7)
    C.P(S5)和V(S7)
    D.V(S5)和P(S7)

    答案:C
    解析:
    对于试题(48),根据前驱图P5进程开始运行前必须等待P3进程的通知,需要用P (S5)操作测试P3进程是否运行完,故空f应填写P (S5):P5进程运行结束需要利用V操作通知P6进程,故空g应填写V(S7)。

  • 第21题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,空③和空④处应分别为(49)。

    A.V(S4)V(S5)和P(S3)
    B.P(S4)P(S5)和V(S3)
    C.V(S3)V(S4)和V(S5)
    D.P(S3)V(S4)和P(S3)

    答案:A
    解析:
    (49)根据前驱图,P3进程运行结束需要利用两个V操作分别通知P4、P5进程,故空③应为两个V操作;又由于P4执行前需要等待进程P2、P3的结果,需要2个P操作,而P4进程的程序中执行前只有1个P操作,故空④应为1个P操作。采用排除法,对于试题(49)的选项A、选项B、选项C和选项D中,只有选项A满足条件。

  • 第22题:

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

    若用PV操作控制这6个进程的同步与互斥的程序如下,空d和空e处应分别为(47)。

    A.V(S3)V(S4)和V(S6)
    B.P(S3)P(S4)和V(S6)
    C.P(S3)V(S4)和V(S6)
    D.P(S3)V(S4)和P(S6)

    答案:B
    解析:
    对于试题(47),根据前驱图P4进程开始运行前必须等待P2和P3进程的通知,需要用P (S3)操作测试P2进程是否运行完,用P (S4)操作测试P3进程是否运行完,所以空d应填P (S3) P (S4), P4进程运行结束需要利用V (S6)操作通知P5进程,所以空e应填V (S6)。

  • 第23题:

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

    若用 PV 操作控制这 6 个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(请作答此空);空③和空④处应分别为(请作答此空);空⑤和空⑥处应分别为( )。

    A.P(S6)和 P(S5)V(S6)
    B.V(S5)和 V(S5)V(S6)
    C.V(S6)和 P(S5)P(S6)
    D.P(S6)和 P(S5)P(S6)

    答案:C
    解析:
    图中有七条箭线,因此需要设置七个信号量,按照从小到大的顺序分别是:P1→P2对应S1,P1→P3对应S2,P2→P3对应S3,P2→P3对应S3,P2→P4对应S4,P3→P5对应S5,P4→P5对应S6,P5→P6对应S7。每个进程开始的时候执行P操作(P1没有P操作,只有V操作),结束的时候执行V操作,如P2开始的时候执行P(S1)的操作,结束时执行V(S3)的操作,P3开始的时候执行P(S2)P(S3)的操作,结束时执行V(S5)的操作,其他同理。