分布式系统中的死锁检测

先决条件—— 死锁介绍 , 死锁检测 在死锁检测的集中方法中, 两种技巧 分别使用:完全集中算法和Ho-Ramamurthy算法(一阶段和两阶段)。

null
  • 完全集中的算法—— 在由n个站点组成的网络中,选择一个站点作为控制站点。该站点负责死锁检测。它可以控制系统的所有资源。如果站点需要资源,它会请求控制站点,控制站点会分配和取消分配资源,并维护等待图。在一段固定的时间间隔内,它检查等待图以检测循环。如果循环退出,它将宣布系统为死锁,否则系统将继续工作。这种技术的主要缺点如下:
    1. 即使使用自己的资源,网站也必须发送请求。
    2. 有可能出现虚幻的僵局。
  • HO Ramamurthy(两阶段算法)—— 在这种技术中,一个资源状态表由中央或控制站点维护,如果检测到一个循环,那么系统首先不会被宣布为死锁,当系统被分配时,该循环会再次被检查。站点在每个时刻都会空闲或释放一些其他资源。现在,在检查是否再次检测到循环后,系统被声明为死锁。这种技术减少了幻象死锁的可能性,但另一方面,时间消耗更大。
  • HO Ramamurthy(一阶段算法)—— 在这种技术中,资源状态表和进程表由中央或控制站点维护。如果在进程和资源表中都检测到循环,则系统被声明为死锁。这种技术减少了时间消耗,但增加了空间复杂性。
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享