操作系统课件 第6章 死锁.pdf

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档