假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为10、5和3。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示,此时系统剩余的可用资

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

A.1、1和0

B.1、1和1

C.2、1和0

D.2、0和1

A.P1→P2→P4→P5→P3

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

D.P5→P1→P4→P2→P3





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

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

    序列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”,故选项C是不安全的序列。
    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”。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,转载需标明出处。
如果您有更好的解答,欢迎留言评论。

本文链接:https://ruankaoti.com/post/3789.html

评论

阅读更多

微信扫码,加入打卡学习群,分享学习资料

最近发表