- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统
6 并发程序设计–6.6 死锁
6.6.3 死锁的避免
死锁的避免
当不能防止死锁的产生时,如果能掌
握并发进程中与每个进程有关的资源
申请情况,仍然可以避免死锁的发生
只需在为申请者分配资源前先测试系
统状态,若把资源分配给申请者会产
生死锁的话,则拒绝分配,否则接收
申请,为它分配资源
银行家算法
银行家算法:借钱给有偿还能力的客户
系统首先检查申请者对资源的最大需求
量,如果现存的资源可以满足它的最大
需求量时,就满足当前的申请
换言之,仅仅在申请者可能无条件地归
还它所申请的全部资源时,才分配资源
给它
银行家算法(例)
为了进一步说明这种算法,考虑下面的例子。
假设系统有三个进程P, Q, R,系统只有一
类资源共10个,目前分配情况如下:
进程 已占资源 还需要申请数
P 4 4
Q 2 2
R 2 7
银行家算法(例)
进程 已占资源 还需要申请数 对P执行分配
P 5 3 剩余资源1
Q 2 2
R 2 7
对R执行分配 进程 已占资源 还需要申请数
剩余资源1 P 4 4
Q 2 2
R 3 6
P或者R再申请资源时,不能分配,因为现在
只剩下2个资源,不能满足它们的最大需求
您可能关注的文档
最近下载
本人专注于k12教育,英语四级考试培训,本人是大学本科计算机专业毕业生,专注软件工程计算机专业,也可承接计算机专业的C语言程序设计,Java开发,Python程序开发。
原创力文档


文档评论(0)