操作系统原理-第3章-处理机调度与死锁(2).ppt

操作系统原理-第3章-处理机调度与死锁(2).ppt

ID:52879279

大小:891.00 KB

页数:37页

时间:2020-04-14

操作系统原理-第3章-处理机调度与死锁(2).ppt_第1页
操作系统原理-第3章-处理机调度与死锁(2).ppt_第2页
操作系统原理-第3章-处理机调度与死锁(2).ppt_第3页
操作系统原理-第3章-处理机调度与死锁(2).ppt_第4页
操作系统原理-第3章-处理机调度与死锁(2).ppt_第5页
资源描述:

《操作系统原理-第3章-处理机调度与死锁(2).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、淮海工学院计算机科学系3.5产生死锁的原因和必要条件3.5.1产生死锁的原因1)竞争资源:当共享的资源数量不足以满足多个进程的请求时,引起进程对资源的竞争而产生死锁。2)进程间推进顺序不当:在进程的推进过程中,请求和释放资源的顺序不当也会引起死锁。死锁举例:设系统有一台打印机和一台扫描仪,进程P1、P2并发执行。在某时刻T,进程P1和P2分别占用了打印机和扫描仪。在时刻T1(T1>T),P1又要申请扫描仪,但由于扫描仪被P2占用,P1只有等待。在时刻T2(T2>T),P2又申请打印机,但由于打印机被P1占用,P2只有等待。由此,两个进程为竞争资源将处于无休止的

2、等待状态,这就是死锁。淮海工学院计算机科学系1、竞争资源引起死锁1)资源的分类:可剥夺和非剥夺性资源可剥夺性资源:CPU和主存。例如:高优先权进程可以剥夺低优先权进程的处理机。又如:中程调度程序把进程从一个存储区移至外存,剥夺了该进城原来占有的存储区。不可剥夺性资源:磁带机、打印机等。当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自动释放。这是由资源属性决定的。淮海工学院计算机科学系2)竞争非剥夺性资源(而引起的死锁)两个进程并发使用打印机和扫描仪打印图文信息,当双方都占有部分资源时,而后再申请对方已占有的资源。如图产生环路必定死锁。竞争非剥

3、夺资源死锁状态图产生环路死锁啦!时刻进程p1进程p2Trequest(打印机);request(扫描仪);T1holding打印机;holding扫描仪;T2request(扫描仪);…T3…request(打印机);淮海工学院计算机科学系3)竞争临时性资源永久性资源:类似打印机可顺序重复使用的资源(生命的永久性)。临时性资源:由一个进程产生,被另一个进程使用一短暂时间后便无用的资源。如信号量、消息、内存变量等。例如:下图为进程通信时产生的死锁状态和环路(进程产生和接收消息)进程接收和产生消息并发顺序P1:request(S3);Release(S1);P2:

4、request(S1);Release(S2);P3:request(S2);Release(S3);P1先请求S3消息,再发出S1消息…可能会死锁。若每个进程的动作顺序颠倒,则不会死锁!淮海工学院计算机科学系2、进程推进顺序不当引起死锁图示两个并发进程推进顺序的合法与不合法:合法:①、②、③;推进不当:④P2Rel(R1)P2Rel(R2)P2Req(R1)P2Req(R2)P1Req(R1)P1Req(R2)P1Rel(R1)P1Rel(R2)①②③④DP2运行P1运行淮海工学院计算机科学系进程推进顺序不当的危险性:若并发进程P1和P2按曲线④所示的顺序

5、推进,它们将进入不安全区D内。此时P1保持了资源R1,P2保持了资源R2,系统处于不安全状态。因为,这时两进程再向前推进,便可能发生死锁。例如,当P1运行到P1:Request(R2)时,将因R2已被P2占用而阻塞;当P2运行到P2:Request(R1)时,也将因R1已被P1占用而阻塞,于是发生了进程死锁。淮海工学院计算机科学系3.5.2产生死锁的必要条件互斥条件:进程对分配的临界资源在一段时间内只能独占使用,如未用完释放,则其他申请进程只能等待。不剥夺条件:进程所获得的资源在未使用完毕之前,资源申请者不能强行地从资源占有者手中夺取资源,而只能由该资源的占有

6、者进程自行释放。请求和保持条件:进程在申请不到一新资源时,将被阻塞,但仍继续占有已分配的资源。环路等待条件:存在一个进程——资源环形链,各个进程将申请的新资源被其它进程依次占用,此时死锁必然发生。淮海工学院计算机科学系3.5.3处理死锁的基本方法预防死锁:通过设置某些条件,直接破坏产生死锁的4个必要条件一个或几个,从而达到预防死锁的目的。避免死锁:避免亦乃预防,方法是在资源的动态分配过程,施加一些较弱的限制条件,来防止系统进入不安全状态而避免死锁。检测死锁:允许发生死锁,但能检测出已发生的死锁及相关进程,然后采取措施清除死锁。解除死锁:与检测死锁相互配套的措施

7、,使用挂起或撤消死锁中的某些进程,让出资源解除死锁。淮海工学院计算机科学系3.6预防死锁的方法1、预防死锁基本思想:预防死锁的方法就是在为进程分配资源时,使得产生死锁的不可剥夺性、请求与保持、环路等待条件三个必要条件不能成立,从而预防死锁发生。特点:方法保守,资源利用率低,但因简单明了并且安全可靠,仍被广泛采用。注意:互斥条件是某些资源的固有属性,不仅不能改变,相反还应加以保证,因此实际上只有三种方法。淮海工学院计算机科学系预防死锁的基本方法摒弃“请求和保持”条件:基本思想:系统规定每一个进程在开始运行前,都必须一次性地申请其在整个运行过程所需的全部资源。此时

8、,若系统有足够的资源,便一次性地分配够

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。