- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课件 第6章 死锁
现代操作系统
第6章死锁
死锁例子:
一个由于申请不同类型资源而产生死锁
的例子
• 设系统有一台打印机(R1)一台扫描仪(R2) ,
两进程共享这两台设备。
• 用信号量S1表示R1是否可用,用信号量
S2表示R2是否可用,S1、S2初值为1。
死锁例子:
这两个进程在并发执行过程中,可能会发生死锁。
思考:如何修改,进程才不会发生死锁。
死锁(Deadlock )的定义:
所谓死锁,是指多个进程因竞争
资源而造成的一种僵局(永久阻塞
状态),若无外力作用,这些进程
都将不能再向前推进。
关于死锁的一些结论
•参与死锁的进程最少是两个
•参与死锁的进程至少有两个已经占
有资源
•参与死锁的所有进程都在等待资源
注:如果死锁发生,会浪费大量系
统资源,甚至导致系统崩溃。
6. 1 死锁概述
1. 资源分类
可抢占资源—指资源占有进程虽然需要使
用该资源,但另一个进程却能强行把资源
从占有者进程处抢来。
不可抢占资源—指只有占用者进程不再需
要使用该资源而主动释放资源外,其它进
程不得在占有者进程使用资源过程中强行
抢占。
资源分类
可抢占:CPU、主存,该资源可
为几个进程共同使用。
资
源
不可抢占:打印机、读卡机、磁带
驱动器,该资源为某个进程独享。
总的来说,死锁和不可抢占资源有
关,有关可抢占资源的死锁通常可以
通过在进程之间重新分配资源而化解。
我们讨论的重点放在不可抢占资源。
概念引入
资源分配图
用来描述系统资源及资源的申请和分配情况的
有向图。定义为:二元组G= (V ,E )其中:
V:结点集,分为P(进程集合) ,R(资源集合)两
部分。即P={p1,p2,…,pn} ;R={r1,r2,…,rm}。
E:边的集合,其元素为有序二元组(pi,rj) 或
(rj,pi) 。
资源分配图
资源请求边:e={ pi, rj }
进程资源的一条有向边
表示进程pi 申请rj类资源中的一个资源。
资源分配边:e={ rj, pi }
资源进程的一条有向边
表示rj类中的一个资源已被进程pi 占用。
资源分配图
表示法
资源类(资源的不同类型):用方框表示
资源实例(存在于每个资源中):用方
框中的小圆圈表示
进程:用大圆圈中加进程名表示
资源分配图
资源请求边
资源分配边
P1
R1 R2
P2 P3 P4
2. 死锁产生的根本原因
竞争资源 (不可剥夺性、临时性)
当系统中供多个进程共享的资源不足时,将引
起进程对资源的竞争而产生死锁。
进程推进顺序不合理
进程在运行过程中具有异步性特征,如果它们
之间的请求和释放资源的顺序不当,也同样会导
致进程产生死锁。
(1) 竞争资源产生的死锁:
进程
P
1
资源 R1 R2 资源
P
文档评论(0)