- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12-MOOC-死锁
北京大学计算机科学技术系 陈向群
Department of computer science and Technology
Peking University
2015 春季
死锁的基本概念
资源分配图
死锁预防
死锁避免
死锁检测与解除
哲学家就餐问题
死锁的定义
一组进程中,每个进程都无限等待被该组进程中
另一进程所占有的资源,因而永远无法得到的资
源,这种现象称为进程死锁,这一组进程就称为
死锁进程
如果死锁发生,会浪费大量系统资源,甚至导致
系统崩溃
参与死锁的所有进程都在等待资源
参与死锁的进程是当前系统中所有进程的子集
我要过路口 我要过路口
C和B B 和C
我要过路口
我要过路口 A和B
D和A
William Stallings
等D空出来 等C 空出来
等A 空出来 等B空出来
William Stallings
资源数量有限、锁和信号量错误使用
资源的使用方式:
“申请--分配--使用--释放”模式
可重用资源:可被多个进程多次使用
可抢占资源与不可抢占资源
处理器、I/O部件、内存、文件、数据库、信号量
可消耗资源:只可使用一次、可创建和销毁的资源
信号、中断、消息
D :磁盘文件
T :磁带设备
可分配内存
200KB
P1 P2
. . . . . .
Request 80 Kbytes; Request 70 Kbytes;
. . . . . .
Request 60 Kbytes; Request 80 Kbytes;
William Stallings
William Stallings
应用Peterson算法
活锁
先加锁
再轮询
→ 既无进展也没有阻塞
饥饿
资源分配策略决定
互斥使用(资源独占)
一个资源每次只能给一个进程使用
占有且等待(请求和保持,部分分配)
进程在申请新的资源的同时保持对原有资源的占有
不可抢占(不可剥夺)
资源
文档评论(0)