美文网首页
软件设计师2023年上半年第26-28题——PV操作

软件设计师2023年上半年第26-28题——PV操作

作者: 时光已翩然轻擦 | 来源:发表于2024-05-21 11:32 被阅读0次

    一、题目

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


    前驱图

    若用PV操作控制进程P1、P2、P3、P4、P5和P6并发执行的过程,需要设置8个信号量S1、S2、S3、S4、S5、S6、S7和S8,且信号量S1-S8的初值都等于零。下面P1-P6的进程执行过程中,①和②处应分别填写(26);③和④处应分别填写(27):⑤和⑥处应分别填写(28)。

    执行过程

    1. 第26题选项

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

    2. 第27题选项

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

    3. 第28题选项

    A. V(S6)和V(S8)
    B. P(S6)和P(S7)
    C. P(S6)和V(S8)
    D. P(S6)和P(S8)

    二、分析

    • ① 由前驱图可知,P2进程结束后,应给P3进程、P4进程各释放一个信号量,由于S1S2信号量已被使用,因此这里可以使用S3S4信号量,即:V(S3)、V(S4)
    • P3进程开始前,需要分别等待P1进程、P2进程结束:由于P1释放的信号量S1已被P2使用,因此P3需等待P1释放的S2信号量,即:P(S2);由①可知P2释放了S3S4两个信号量,因此P3可以等待S3信号量,即:P(S3)。所以这里应该填写P(S2)、P(S3)
    • P3进程结束后,需要执行P4进程,因此需要释放S5信号量给P4,即:V(S5)
    • P4进程结束前,需要执行P2P3进程,因此需要等待P2进程释放的S4信号量,即:P(S4),以及P3进程释放的S5信号量,即:P(S5)。所以这里应该填写P(S4)、P(S5)
    • P5进程开始前,需要执行P4进程,P4进程结束时释放了两个信号量S6S7,由于S7信号量被P6进程使用了,因此P5应等待S6信号量,即:P(S6)
    • P5进程结束后,需要执行P6进程,由P6进程开始前等待的两个信号量S7(由P4进程释放)、S8可知,P5应释放信号量S8,即:V(S8)

    三、答案

    • 综上所述,答案应为:
      • (26) D. V(S3)V(S4)和P(S2)P(S3)
      • (27) A. V (S5)和P(S4)P(S5)
      • (28) C. P(S6)和V(S8)

    相关文章

      网友评论

          本文标题:软件设计师2023年上半年第26-28题——PV操作

          本文链接:https://www.haomeiwen.com/subject/rkcafjtx.html