- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式的死锁检测 被阻塞的进程发送特殊的探测消息给占用资源的进程,消息格式为(阻塞的进程、发送进程,接收进程); 收到消息后,接收者检查以确认自己是否也在等待其他进程。如果是,则修改第二字段为当前进程号,第三字段为等待的进程号。当等待多个资源,就发送多个不同的消息; 如果消息转了一圈后又回到最初的发送者,则说明存在死锁。 Chandy-Musra-Haas 分布式死锁检测算法 0 1 2 机器0 3 4 5 机器1 6 7 8 机器2 (0,2,3) (0,4,6) (0,5,7) (0,8,0) 通过不同算法打破死锁: 使最初发送探测消息的进程自杀; 将每个进程的标识符添加到消息中,选取最大号进程终止或请求其自杀 在实际运用中,理论和实际存在很大的分歧,发现一种新的算法仍是研究的目标。 分布式死锁预防 在拥有全局时间和原子事务的系统中,为每个事务分配一个唯一的时间戳,利用时间戳来决定在资源争用时谁可以拥有优先权。 老进程由于已经运行了较长时间,系统的投入较大,被给以高优先级;被终止的新进程在它最终成为系统中最老的进程之后仍可再生,不会存在饿死的现象。 等-死 死锁预防算法 当老进程申请被新进程占用的资源时,允许老进程等待; 当新进程申请被老进程占用的资源时,立即被终止。 老进程 10 新进程 20 请求资源 拥有资源 新进程 20 老进程 10 X 请求资源 拥有资源 新进程 20 死亡 老进程 10 等待 伤-死 死锁预防算法 老进程 10 新进程 20 请求资源 拥有资源 新进程 20 老进程 10 请求资源 拥有资源 新进程 20 等待 新进程 20 被抢占 当老进程申请被新进程占用的资源时,系统将资源从新进程中抢夺过来; 当新进程申请被老进程占用的资源时,新进程被阻塞。 小结 Lamport算法即用途 互斥及三种算法 协调者的产生 原子事务 死锁及其处理算法 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 3.3.1 欺负(Bully)算法 当一个进程发现协调者不再响应,就发起选举: P向所有号码比他大的进程发送选举(ELECTION)消息; 若无人相应,则P获胜成为协调者; 若有号码比它大的进程响应,响应者接管,P的工作完成。 3.3.2 环算法 每个进程都知道前驱者和后继者。进程向后继者发送包括自己进程号的消息,如果直接后继没有应答,则发给间接后继。在循环一周后,消息回到始发者手中。始发者将消息类型转变成协调者消息,再次绕环运行。当消息再次回到始发者手中时,所有成员都知道协调者的身份。消息被遗弃。 3.4 原子事务 目的:提供更高层次的抽象,隐藏技术细节,允许编程人员将注意力集中在算法和进程如何运行上。这种抽象我们称之为原子事务,简称事务。 3.4.1 原子事务简介 更新主磁带是容错的 特点:事务执行后可以返回最初状态,所以在任何情况下,因任何原因引起运行错误,其工作都可以毫无损失地重新开始。 3.4.2 事务模型 稳定存储器 盘1更新后崩溃 错误的地方 s a h f w b t o s a h f w b t o 1 2 s a’ h f w b t o s a h f w b t o 1 2 s a’ h f w b t o s a’ f w b t o 1 2 错误的校验和 事务原语 原语 描述 BEGIN_TRANSACTION 标记一个事务的开始 END_TRANSACTION 结束事务并设法提交 ABORT_TRANSACTION 取消事务并退回初始状态 READ 从一个文件(或其对象)读取数据 WRITE 将数据写入一个文件(或其对象) BEGIN_TRANSACTION reserve WP - JFK; reserve JFK - Nairobi; reserve Nairobi - Malindi;END_TRANSACTION (a) BEGIN_TRANSACTION reserve WP - JFK; reserve JFK - Nairobi; reserve Nairobi - Malindi full =ABORT_TRANSACTION (b) 事务的特征 特征 说明 原子性(Atomic) 对外部世界来说,事务的发生是
文档评论(0)