德黑兰翻译:有关死锁的一到题目

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 23:56:58
假设系统处于下列状态,目前系统剩余资源数量为2。下列哪一个进程序列有可能发生死锁?

进程 已占资源数 最大需求数
P1 1 2
P2 4 7
P3 3 5
P4 5 7
A)P1,P2,P3,P4
B)P2,P3,P4,P1
C)P3,P1,P2,P4
D)P4,P3,P2,P1

答案是B
请问是怎么看的,请给出具体的道理!~

P2,已占4需7差3,系统分配所剩的资源后还差1,等待---无可用资源,死锁
若先给P1或P3或P4分配,系统均有足够资源;等P1P3P4完成任务释放资源后,P2可以分配到足够资源,不会死锁

系统会首先分系统资源给最大需求数最少的进程,其次,当最大需求数相同的情况下,先分配资源给已占资源数少的进程。

于是P1先得到1个资源,接着P2得到一个资源。此时,系统资源数为0。再往后分配时,由于P2和P4进程的最大需求数相同,但P2的已占资源数少,因此,分配资源给P2。首先,P2发生死锁,跟着P4,根据以上原则,随后P1,P3接连死锁。