- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统_第4章,计算机操作系统第四版,计算机操作系统第三版,计算机操作系统第二版,第246章第三代计算机,计算机网络第四章答案,计算机网络第三章答案,计算机组成原理第三章,计算机审计第六章作业,计算机网络第三章
第4章 死锁
第4章 死锁
4.1 死锁的基本概念
4.2 产生死锁的示例
4.3 解决死锁的方案
4.4 其他相关问题
习题
第4章 死锁
4.1 死锁的基本概念
死锁主要是由两个或多个进程对资源需求的冲突
引起的。Dijkstra在1968年提出了这种情况:两个或多
个进程都占有其他进程请求的资源,就像两个过独木
桥的人,同时站在桥中央,两个人都等待对方让出
路,但是谁也不肯退回去让别人先走,导致谁也到不
了对岸,这两个人就像两个进程,同时在等待对方让
出占有的“桥”这一资源,两个进程都不能执行,处于
永远的等待状态。
第4章 死锁
4.1.1 资源
在计算机系统中,存在着许多资源,我们称其中
那些在任一时刻只能允许一个进程占有的资源叫做独
占资源。系统资源在总体上按照是否能被消耗可以分
为永久性资源和临时性资源。永久性资源就是指独占
资源,可以重复使用;临时性资源是指可消耗的资
源,例如进程通信时使用的邮件等。
第4章 死锁
4.1.2 产生死锁的4个必要条件
并不是所有的并发进程都会产生死锁,死锁的产
生是有条件的。Coffman等人在1971年总结出了产生死
锁的4个必要条件:
(1) 互斥使用(资源独占) :进程对其申请的资源进
行排他控制,其他申请资源的进程必须等待。
(2) 非剥夺控制(不可强占) :占用资源的进程只能
自己释放资源,不能被其他进程强迫释放,即使该进
程处于阻塞状态,它所占有的资源也不能被其他进程
使用,其他进程只能等待该资源的释放。
第4章 死锁
(3) 零散请求:进程可以按需要逐次申请资源,而
不是集中性一次请求所有资源。这样,进程在已经占
有资源的情况下,又申请其他资源而得不到满足时,
并不释放已占有的资源。
(4) 循环等待:等待资源的进程形成了一个封闭的
链,链上的进程都在等待下一个进程占有的资源,造
成了无止境的等待状态。
第4章 死锁
4.2 产生死锁的示例
1 .P 、V操作不当引起死锁
在第3章中我们介绍了利用P 、V操作可以实现进程
同步。设有两个信号量S1和S2 ,初值为0 ,进程T1和
T2如果按照图4.1所示的方式使用这两个信号量,就会
发生死锁,因为进程T1 中P(S1)和V(S2) 的顺序颠倒了。
第4章 死锁
进程T1: 进程T2:
启动读卡机 P(S1)
送卡片到缓冲区 从缓冲区取出卡片信息
P(S2) V(S2)
V(S1) 加工信息
图4.1 P 、V操作不当引起死锁
第4章 死锁
2 .进程申请顺序不当引起死锁
假设系统有一台打印机和一台扫描仪,进程T1和
T2共享这两台设备,两个进程对资源的执行顺序如图
4.2所示。
第4章 死锁
T1 T2
申请扫描仪 申请打印机
文档评论(0)