niusouti.com

● 进程P1、P2、P3、P4和P5 的前趋图如下:若用PV操作控制进程P1~P5并发执行的过程,则需要设置 6 个信号量 S1、S2、S3、S4、S5和S6,且信号量S1~S6的初值都等于零。下图中 a和 b 处应分别填写 (23) ;c和d处应分别填写 (24) ,e和f处应分别填写 (25) 。(23)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(S

题目

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

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

(23)

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)

(24)

A. P(S1) P(S2) 和V(S3) V(S4)

B. P(S1) P(S3) 和V(S5) V(S6)

C. V(S1) V(S2) 和P(S3) P(S4)

D. P(S1) V(S3) 和P(S2) V(S4)

(25)

A. P(S3) P(S4) 和V(S5) V(S6)

B. V(S5) V(S6) 和P(S5) P(S6)

C. P(S2) P(S5) 和P(S4) P(S6)

D. P(S4) V(S5) 和P(S5) V(S6)


相似考题
参考答案和解析
正确答案:C,B,C
更多“ ● 进程P1、P2、P3、P4和P5 的前趋图如下:若用PV操作控制进程P1~P5并发执行的过程,则需要设置 6 个信号量 S1、S2、S3、S4、S5和S6,且信号量S1~S6的初值都等于零。下图中 a和 b ”相关问题
  • 第1题:

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



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


    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
    解析:
    参考课程有关内容。1、先在图中标注信号量 2、遵循P前面的信号量,V后面的信号量的原则

  • 第2题:

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



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


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

    答案:B
    解析:
    参考课程有关内容。1、先在图中标注信号量 2、遵循P前面的信号量,V后面的信号量的原则。

  • 第3题:

    进程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)和V(S3)V(S4)
    B. P(S1)P(S3)和V(S5)V(S6)
    C. V(S1)V(S2)和P(S3)P(S4)
    D. P(S1)V(S3)和P(S2)V(S4)

    答案:B
    解析:
    本题主要考查用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操作要有一个透彻的理解,另外就是能分析出题目执行的逻辑关系。

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

    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)的操作。其他同理。

  • 第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(S4)和V(S5)
    B.V(S5)和P(S4)
    C.V(S4)和P(S5)
    D.V(S4)和V(S5)

    答案:A
    解析:
    图中有五条箭线,因此需要设置五个信号量,按照从小到大的顺序分别是: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操作控制进程P1~P5并发执行的过程,则需要设置6个信号S1、S2、S3、S4、S5和S6,且信号量S1-S6的初值都等于零。下图中a和b处应分别填写( );c和d处应分别填写( ),e和f处应分别填写(请作答此空)。

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

    答案: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操作要有一个透彻的理解,另外就是能分析出题目执行的逻辑关系。