下载此文档

产生死锁的原因和必要条件.pptx


文档分类:研究报告 | 页数:约70页 举报非法文档有奖
1/70
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/70 下载此文档
文档列表 文档介绍
一、竞争资源引起死锁
1、可将系统中的资源分为两类:可剥夺性资源和非剥夺性资源。
可剥夺性资源是指:某进程在获得这类资源后,该资源可被其他进程抢占。
如处理机、内存。优先权高的进程可以剥夺优先权低的进程的处理机;内存区可由内存管理程序把一个进程从一个存储区移到另一个存储区,即剥夺了该进程原来占有的存储区。
第2页/共63页
非剥夺性资源是指:进程一旦占有该资源,就不可抢占,不管其它进程的优先权是否高于当前进程,只能在该进程用完后自行释放。
如打印机、磁带机等。
大多数情况下,我们所讲引起的死锁的资源竞争,是指对于非剥夺性资源的竞争。
第3页/共63页
2、竞争非剥夺性资源
若系统中只有一台打印机R1和一台磁带机R2,可供进程P1和P2共享。假定P1已占用了打印机R1,P2占用了磁带机R2。此时,若P2继续要求打印机,P2将阻塞;P1若又要求磁带机,P1也将阻塞。
于是,P1与P2之间便形成了僵局,两个进程都在等待对方释放出自己所需的资源,但它们又都因不能获得所需的资源而不能继续推进,从而也不释放自己已占用的资源,就进入了死锁状态。
第4页/共63页
I/O设备共享时的死锁情况
P2
P1
R1
R2
方块代表资源
圆圈代表进程
箭头从进程指向资源,表示进程请求该资源
箭头从资源指向进程,表示该资源已分配给进程
第5页/共63页
3、竞争临时性资源
临时性资源,也称为消耗性资源,是指由一个进程产生,被另一进程使用一短暂时间后便无用的资源,如消息等。
竞争临时性资源也可能引起死锁。
第6页/共63页
例:S1、S2、S3是临时性资源,进程P1产生消息S1,又要求接收S3;P3产生消息S3,又要求接收S2;P2产生消息S2,又要求接收S1。若消息通信按以下顺序进行:
P1:……Release(S1);Request(S3);……
P2:……Release(S2);Request(S1);……
P3:……Release(S3);Request(S1);……
并不可能发生死锁。
第7页/共63页
若按以下运行顺序:
P1:…Request(S3);Release(S1);…
P2:…Request(S1);Release(S2);…
P3:…Request(S2);Release(S3);…
则可能发生死锁
P3
P1
S2
S2
P2
S1
进程通信时的死锁
第8页/共63页
二、进程推进顺序不当引起死锁
1、进程推进顺序合法
例:在进程P1和P2并发执行时,如果按以下顺序推进:
P1 Request(R1); P1 Request(R2);
P1 Release(R1); P1 Release(R2);
P2 Request(R2); P2 Request(R1);
P2 Release(R2); P2 Release(R1);
则两个进程可顺利完成。如下图4-16中的曲线1 所示。
第9页/共63页
第10页/共63页
第11页/共63页

产生死锁的原因和必要条件 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数70
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小1.33 MB
  • 时间2021-02-28