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

admin2015-05-21  41

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

     (23)

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

    选项A 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”,释放Pl占有的资源数(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://jikaoti.com/ti/WII7FFFM
0

相关试题推荐
最新回复(0)