Algorithm 死锁检测算法(伪代码)
我正在阅读Silberschatz G.Gagne的《操作系统概念》,在关于死锁的一章中,给出了一个用于死锁检测的伪代码,如下所示:Algorithm 死锁检测算法(伪代码),algorithm,operating-system,deadlock,Algorithm,Operating System,Deadlock,我正在阅读Silberschatz G.Gagne的《操作系统概念》,在关于死锁的一章中,给出了一个用于死锁检测的伪代码,如下所示: 让Work和Finish分别是长度为m和n的向量。(有n个进程和m个资源。) 初始化工作=可用。对于i=0,1,…,n-1,如果分配[i] != 0,则Finish[i]=false否则,完成[i]=true。 查找索引i,使Finish[i]==false&&Request[i]在运行此算法时,它检测哪些进程(如果有的话)当前涉及死锁 一个没有资源的进程可能正在
Finish[i]=true来忽略它
请注意,该算法仍然不能正确识别死锁进程。步骤4中标记的流程可能会占用资源,并且可能会在等待死锁流程时被阻止,但可能没有需要其占用资源的死锁流程,因此该流程本身不会涉及死锁。您的问题基于分配,一个不需要分配任何资源的进程当然可以完成(也就是说,不能成为死锁的一部分)。