本文提供了一种检测操作系统中死锁的方法.该方法包含三个步骤:(1)通过检测进程加锁与解锁是否匹配来获得锁的持有者;(2)从异常进程中筛选出锁的等待者;(3)通过检查锁的持有者与等待者是否会形成循环等待图来判定死锁.通过实验发现,该方法对系统性能的影响小于l%,而且不需要修改内核源码和源程序.
This paper introduces a method to detect operating system deadlock. The method consists of three stages: (1) finding the lock-holders by detecting whether the locks and unlocks are paired. (2) finding the lock-waiters by filtering the abnormal process. (3) the method will occur deadlock warning if there is a cycle in the waits-for graph. The results show that the method has only 1% influence to the performance, and does not need to modify Linux kernel and detected program source code.