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

admin2019-06-12  30

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

选项 A、P1—P2—P4一P5一P3
B、P2—P1—P4一P5—P3
C、P2—P4一P5一P1—P3
D、P4一P2—P4—P1—P3

答案C

解析 本题主要考查银行家算法,是考试中的一个重要考点。
    所谓安全状态,是指系统能按某种进程顺序(P1,P2,…,Pn)为每个进程Pi分配其所需资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利完成。如果无法找到这样的一个安全序列,则称系统处于不安全状态。
本题已经给出序列,只需将4个选项按其顺序执行一遍,便可以判断出现死锁的三个序列。
    首先求剩下的资源数:
    R1=9-(1+2+2+1+1)=2
    R2=8-(2+1+1+2+1)=1
    R3=5一(1+1+3)=0
由于R3已分配的资源为0,系统不能再分配R3资源,所以不能一开始就运行需要分配R3资源的进程。所以,A和D显然是不安全的。
其次,求序列P2→P4→P5→P1→P3是否安全。进程运行分析如表3-6所示。

显然,该序列是安全的。
最后,求序列P2→P4→P5→P1→P3是否安全。进程运行分析如表3.7所示。

这时,发现进程P1需要R1资源为5,我们能提供的R1资源为4,所以序列无法进行下去,为不安全序列。
转载请注明原文地址:https://kaotiyun.com/show/yKRZ777K
0

最新回复(0)