检测死锁的算法很多,一般都是基于图的算法或者说基于环路的校验算法,这个网上有很多论文可以看,然而在这本书里归纳了一些其他理论来当作死锁检测的依据,我觉得和标题不符,我的理解是原文含义是如何降低死锁,不过尊重原文,我还是不做修改在此记录下。
原文转载自 : http://book.51cto.com/art/200907/133348.htm
11.14.3 检测死锁
诚如所知,在检测死锁的方法中,允许进程使用共享资源。如果因为这种使用而出现死锁,那么就表示检测出死锁。在这种情况下,其中一个进程必须释放自己占据的共享资源。
在分布式操作系统中,实现该方案的麻烦之处在于每个节点只知道本地进程的情况。它不会知道其他节点/进程(也就是全局状态),因此无法帮助检测死锁,而这是避免死锁不可缺少的条件。所以,需要某种仲裁检测分布式操作系统中的死锁。下面给出了三种处理这种情况的解决方案。
1. 集中式控制
在该方法中,指定一个节点为控制节点,该节点决定死锁检测和指出的方式。所有其他进程向该节点提供信息,并遵守该节点的规定。该方法的优点就是简
单,但缺点是由于大量通信、大的存储空间造成大的系统开销以及控制节点出现故障所导致的危险。最后一点最关键,因为在这种情况下,控制节点出现故障就会导
致整个网络环境瘫痪。
2. 层次式控制
它会生成类似树状的结构。这里,所有父节点检测它自己的子节点的死锁,并做出合适的决策。
3. 分布式控制
这是一个民主方法,该方法等同地对待所有的节点/进程。所有的节点/进程需要协同工作。这种方式有大量的信息交换,因而导致大量的系统开销。
诚如所见,所有方法都有自己的优缺点。因此,选择其中一种方法的决策要视具体情况而定,因为每种问题的情况各有不同。
看第2点 第3点 很容易和zookeeper联想到一起,这等看了zookeeper源码后再下结论吧。
分享到:
相关推荐
分布式死锁的识别和诊断通常比传统的单系统死锁更为复杂,因为它涉及到多个系统间的交互。SQL Server本身不能单独形成分布式死锁,它需要与客户端应用程序共同作用才会出现。在上述代码示例中,问题出在使用`...
6. **死锁识别**:该算法不仅能检测到死锁的存在,还能区分出死锁中的循环和结点,并给出所有参与死锁的进程。 #### 结论 本文提出的容错的分布式系统通用死锁模型检测解除算法,通过AND-OR模型、扩散计算和集中...
分布式操作系统中的死锁检测是确保系统稳定性和效率的关键技术。死锁是指两个或多个并发执行的进程因相互等待对方持有的资源而形成的僵局,导致进程无法继续执行。在分布式环境中,由于资源分布在多个节点上,死锁...
总结来说,分布式系统中的死锁检测问题,通过Petri网模型可以得到有效的解决。这一模型不仅能够帮助设计者理解复杂系统中的并发行为,还能够在系统运行时实时检测潜在的死锁问题,从而采取措施避免系统因死锁而造成...
在分布式操作系统中,负载平衡是非常重要的,需要解决多任务、进程迁移、检测和恢复站点故障、函数转移、重新集成故障站点等问题。 计算机操作系统在网络操作系统和分布式操作系统中的应用非常广泛,例如计算机辅助...
在分布式系统中,资源被分布在网络中的各个节点上,为了高效利用这些资源,分布式操作系统采用了分布式的资源管理策略。这种策略分为两种主要类型:集中分布管理和完全分布管理。 - **集中分布管理**:在这种模式下...
分布式操作系统是计算机技术中的一个重要分支,它在分布式计算系统中扮演着至关重要的角色。分布式计算系统是由多台处理机通过网络连接起来构成的,资源分布于整个系统,每个处理机具有一定程度的控制和自治能力。...
如互斥问题、死锁的预防和检测、处理机间的通信机制、可靠性问题、负载分配问题、数据管理问题及其可能的解决方案,并讨论了分布式系统设计在操作系统、文件系统、共享存储器系统、数据库系统和异型处理中的应用。
操作系统中的死锁问题是一个复杂而重要的议题,尤其在多任务并发执行的环境下。死锁是指一组进程中的每个进程都在等待该组中其他进程所持有的资源,导致所有进程都无法继续执行,形成一种僵局。这种现象在汽车竞争...
分布式操作系统是一种先进的操作系统架构,它将单一系统的概念扩展到多台相互连接的计算机上,形成一个统一的、协调的工作环境。这种系统的核心目标是提供透明性,使得用户和应用程序能够像在单个计算机上操作一样,...
1. **资源管理器**:在分布式系统中,资源管理器负责调度和分配分布在不同节点上的硬件资源,如CPU、内存和存储空间,确保各节点间的公平和高效利用。 2. **通信机制**:分布式系统中的节点间通信通常依赖于消息...
如互斥问题、死锁的预防和检测、处理机间的通信机制、可靠性问题、负载分配问题、数据管理问题及其可能的解决方案,并讨论了分布式系统设计在操作系统、文件系统、共享存储器系统、数据库系统和异型处理中的应用。...
分布式与实时操作系统是计算机科学中的两个重要领域,它们在现代信息技术中扮演着不可或缺的角色。分布式系统是由多个相互协作的计算节点组成,通过网络通信来共享资源和完成任务,而实时操作系统则是强调对时间约束...
3. **进程管理**:熟悉分布式系统中的进程概念,包括进程间通信(IPC)、并发控制、同步机制(如信号量、管程、分布式锁)以及死锁处理策略。 4. **分布式文件系统**:研究GFS(Google File System)、HDFS(Hadoop...
如互斥问题、死锁的预防和检测、处理机间的通信机制、可靠性问题、负载分配问题、数据管理问题及其可能的解决方案,并讨论了分布式系统设计在操作系统、文件系统、共享存储器系统、数据库系统和异型处理中的应用。...
如互斥问题、死锁的预防和检测、处理机间的通信机制、可靠性问题、负载分配问题、数据管理问题及其可能的解决方案,并讨论了分布式系统设计在操作系统、文件系统、共享存储器系统、数据库系统和异型处理中的应用。...
2. **银行家算法**:借鉴操作系统中的经典死锁预防策略,为每个进程分配信用,模拟资源的动态分配和释放,确保系统不会进入不安全状态。 3. **周期检测**:定期检查进程状态,寻找循环等待的证据,一旦发现立即报告...
“DOS-CH3-Sync.ppt”涉及同步问题,这是分布式系统中一个关键且复杂的话题。同步机制确保多个进程或节点间的操作协调一致,防止数据不一致性和死锁的发生。常见的同步原语包括互斥量、信号量和条件变量。 “DOS-...