- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式系统课程报告
题目:分布式系统中的死锁
姓 名: 张叶红
学 号: 1080310506
所学专业: 计算机科学与技术学院
目录
1. 死锁的概念 3
1.1 什么是死锁 3
1.2 死锁产生的条件 3
1.3 死锁的图论模型 3
2. 分布式死锁的预防 4
3.1等待—死亡方案(wait-die scheme)。 4
3.2伤害—等待方案(wound-wait scheme)。 5
3. 分布式死锁的检测 5
3.1 概述 5
3.2 分布式死锁检测算法 6
4.2.1超时法 6
4.2.2 AND 模型下Chandy、Misra 和Hass 算法 6
4.2.3 基于优先级动态分配的分布式死锁探测方法 7
4.2.4 Agent Guard死锁检测算法 7
4. 总结 8
5. 参考文献 8
死锁的概念
什么是死锁
所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。
互斥:互斥是一种资源分配方式,保证同一个资源在同一时刻最多只能被一个进程占用,它用于防止多个进程同时共享访问不可同时共享访问的资源。
不可剥夺的资源分配:系统将一个资源的访问权分配给某一个进程后,系统不能强迫该进程放弃对该资源的控制权。
占有并等待:必然有一个进程占用了至少一个资源,同时在等待获取被其他进程占用的资源。
循环等待:在等待图中有一个循环路径
死锁的图论模型
等待图
在等待图中,节点代表进程,当且仅当进程Pi等待一个被进程Pj所占用的资源时,边(Pi, Pj)存在于等待图中,图中的边是有向的。
资源分配图
资源分配图中的节点有两种:一种是进程节点,另一种是资源节点。每个边是一个有序对(Pi, Rj)或(Rj, Pi),其中P代表进程,R代表一个资源类型。边(Pi, Rj)表示进程Pi请求类型为Rj的一个资源,并且正在等待这个资源,一个资源类型中可能有多个资源。边(Rj, Pi)表示类型为Rj的一个资源已经分配给进程Pi。如图1所示:
图1:资源分配图
由于等待图假定一个资源类型中只有一个资源,所以资源分配图是一个比等待图更加有力的工具。
分布式死锁的预防
死锁的预防方法总的来说就是限制请求,保证4个死锁条件中至少有1个不能发生,从而预防死锁。
死锁预防策略在集中式系统中广为使用,并且有多种算法。但是在分布式系统中很少使用。这是因为在分布式系统中没有全局时钟,检查安全转台涉及到的大量进程和资源的计算会引起昂贵的开销。因此这里仅对分布式死锁的预防进行简单介绍。
在分布式系统中,每个进程的优先级基于一个固定的时间戳。用户通过运行事务来访问数据库中的数据对象。每个数据对象可以看作一个资源, 而每个事务可以看作一个进程。一个事务是对一个数据对象集合的一系列读和写操作。一个事务在更新数据之前必须取得所有的数据对象(通过加锁),并且在完成操作之前必须释放它们。加锁策略用以预约访问权限, 从而阻止其他事物取特定的锁。分布式系统的死锁预防主要有以下两种方法:
3.1等待—死亡方案(wait-die scheme)。
该方案是基于非剥夺方法。当进程Pi请求的资源正被进程Pj占有时,只有当Pi的时间戳比进程Pj的时间戳小时,即Pi比Pj老时,Pi才能等待。否则Pi被卷回(roll-back),即死亡。一个进程死亡后会释放它所取得的锁。
3.2伤害—等待方案(wound-wait scheme)。
它是一种基于剥夺的方法。当进程Pi请求的资源正被进程Pj占有时,只有当进程Pi的时间戳比进程Pj的时间戳大时,即Pi比Pj年轻时,Pi才能等待。否则Pj被卷回(roll-back),即死亡。
只要一个进程被回卷时, 它不会被赋予新的时间戳, 两种方案都能避免活锁。由于时间戳总是增加, 被回卷的进程最后将具有最小的时间戳。
分布式死锁的检测
概述
Knapp 将分布式死锁检测的算法分为以下4类:
路径推动算法:
在每个站点建立形式简单的全局等待图。每当进行死锁检测时, 各个站点就将等待图的拷贝送往一定数量的邻接站点。局部拷贝更新后又被传播下去。这一过程重复进行指导某个站点获得了足够的信息来构造一个等待图以便做出决定。但是这类算法许多是错误的。主要原因是传输过程中的部分等待图并不能代表整个全局等待图, 因为各个站点采集数据的方法是异步的。
边跟踪算法:
分布式网络结构图中的回路可以通过沿图的边传播一种叫探测器的特殊
您可能关注的文档
- 1_BSCI自我评估表格(英文版).doc
- JSP实验报告 jsp操作xml文件.doc
- 胆固醇代谢过程.doc
- 美国破产法基本内容.doc
- 造船合同质量保证——中英文.doc
- 华为s6502及多台s3026交换机配置实例.doc
- QQ分组实现.doc
- SEC Guard使用说明书.docx
- 实用英语语法讲稿Lecture 16-18.doc
- RC-GUARD工作原理简介.doc
- 2026秋季中国工商银行集约运营中心(佛山)校园招聘20人备考题库含答案详解(培优).docx
- 中国农业银行宁波市分行2026年度校园招聘214人备考题库附答案详解(夺分金卷).docx
- “梦工场”招商银行长沙分行2026寒假实习生招聘备考题库附答案详解(轻巧夺冠).docx
- 2026贵州省公共资源交易中心定向部分高校选调优秀毕业生专业技术职位考试备考题库完整参考答案详解.docx
- 中国建设银行建信金融资产投资有限公司2026年度校园招聘8人备考题库含答案详解(a卷).docx
- 中国农业银行宁夏回族自治区分行2026年度校园招聘146人备考题库及一套参考答案详解.docx
- 门头沟区青少年事务社工招聘1人备考题库附答案详解(模拟题).docx
- 中国建设银行运营数据中心2026年度校园招聘20人备考题库含答案详解ab卷.docx
- 中国建设银行建银工程咨询有限责任公司2026年度校园招聘9人备考题库及答案详解(有一套).docx
- 2026秋季中国工商银行重庆市分行校园招聘270人备考题库含答案详解(完整版).docx
最近下载
- 弱电机房数据中心的选址及现场勘察表格.docx VIP
- 分子生物学智慧树知到课后章节答案2023年下温州医科大学.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 基恩士PLC编程手册.pdf VIP
- 电网侧独立储能电站项目经济效益和社会效益分析报告.docx
- 2025年6月福建省普通高中学生学业基础会考历史试卷(含答案) .pdf VIP
- 上汽荣威2017款Ei6 维修手册03-2发动机机械系统-1.0T.pdf
- GB_T 43439-2023 信息技术服务 数字化转型 成熟度模型与评估.pdf VIP
- (新课标)三年级上册第六单元测试A卷(含答案).pdf VIP
- 烟草专卖局培训课件:打击互联网涉烟违法犯罪.ppt
原创力文档


文档评论(0)