操作系统课件第三章2.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统课件第三章2.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课件 第三
- 资源描述:
-
1、Operating SystemOperating SystemPage 12022-5-24Operating SystemOperating Systemq处理机调度的基本概念处理机调度的基本概念 q调度算法调度算法 q实时调度实时调度 q多处理机系统中的调度多处理机系统中的调度q产生死锁的原因和必要条件产生死锁的原因和必要条件 q预防死锁的方法预防死锁的方法 q死锁的检测与解除死锁的检测与解除Page 22022-5-24Operating SystemOperating Systemq死锁的基本概念死锁的基本概念q产生死锁的原因产生死锁的原因q产生死锁的必要条件产生死锁的必要条件q处理
2、死锁的基本方法处理死锁的基本方法Page 32022-5-24Operating SystemOperating Systemq 死锁例子死锁例子v一个由于申请不同类型资源而产生死一个由于申请不同类型资源而产生死锁的例子锁的例子v设系统有一台打印机设系统有一台打印机(R1)(R1)一台扫描仪一台扫描仪(R2)(R2),两进程共享这两台设备。,两进程共享这两台设备。v用信号量用信号量S1S1表示表示R1R1是否可用,用信号是否可用,用信号量量S2S2表示表示R2R2是否可用,是否可用,S1S1、S2S2初值为初值为1 1。Page 42022-5-24Operating SystemOperat
3、ing System这两个进程在并发执行过程中,可能会发生死锁。这两个进程在并发执行过程中,可能会发生死锁。大家可以思考一下,如何修改,进程才不会发生大家可以思考一下,如何修改,进程才不会发生死锁?死锁?Page 52022-5-24Operating SystemOperating Systemq 死锁的概念死锁的概念v指指多个进程多个进程因因竞争共享资源竞争共享资源而造成的而造成的一种一种僵局僵局,若无外力作用,这些进程,若无外力作用,这些进程都将永远不能再向前推进。都将永远不能再向前推进。v即:一组进程中,每个进程都即:一组进程中,每个进程都无限等无限等待待被该组进程中被该组进程中另一进
4、程所占有的资另一进程所占有的资源源,因而永远无法得到的资源,这种,因而永远无法得到的资源,这种现象称为进程死锁,这一组进程就称现象称为进程死锁,这一组进程就称为死锁进程。为死锁进程。Page 62022-5-24Operating SystemOperating Systemq 关于死锁的一些结论关于死锁的一些结论v参与死锁的进程参与死锁的进程最少是两个最少是两个 v参与死锁的进程参与死锁的进程至少有两个已经占有至少有两个已经占有资源资源v参与死锁的所有进程参与死锁的所有进程都在等待资源都在等待资源v参与死锁的进程是当前系统中所有参与死锁的进程是当前系统中所有进进程的子集程的子集注:注:如果死
5、锁发生,会浪费大量系统资源,如果死锁发生,会浪费大量系统资源,甚至导致系统崩溃。甚至导致系统崩溃。Page 72022-5-24Operating SystemOperating Systemq 永久性资源和临时性资源永久性资源和临时性资源v永久性资源:可以被多个进程多次使用(可永久性资源:可以被多个进程多次使用(可再用资源)再用资源)可抢占资源:可抢占资源:CPUCPU不可抢占资源:打印机不可抢占资源:打印机v临时性资源:只可使用一次的资源;即由一临时性资源:只可使用一次的资源;即由一个进程产生,被另一进程使用后就再也无用个进程产生,被另一进程使用后就再也无用的资源,也称为的资源,也称为消耗
6、性资源消耗性资源 如信号量如信号量, ,中断信号,同步信号等(可消耗中断信号,同步信号等(可消耗性资源)性资源)“申请申请-分配分配-使用使用-释放释放”模式模式Page 82022-5-24Operating SystemOperating Systemq死锁的基本概念死锁的基本概念q产生死锁的原因产生死锁的原因q产生死锁的必要条件产生死锁的必要条件q处理死锁的基本方法处理死锁的基本方法Page 92022-5-24Operating SystemOperating System3.5 产生死锁的原因和必要条件产生死锁的原因和必要条件3.5.1 产生死锁的原因产生死锁的原因 (1) 竞争资源
7、。竞争资源。当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁。 (2) 进程间推进顺序非法。进程间推进顺序非法。 进程在运行过程中,请求和释放资源的顺序不当,导致了进程死锁。 所谓死锁(Deadlock),是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。 Page 102022-5-24Operating SystemOperating Systemq 竞争资源引起进程死锁竞争资源引起进程死锁v可剥夺和非剥夺性资源可剥夺和非剥夺性资源 可剥夺性资源可剥夺性资源是指进程在获得这类资源后,是指进程在获得这类资源后,该资
8、源该资源可以再被可以再被其他进程或系统其他进程或系统剥夺剥夺,如,如处处理机、内存理机、内存等等非剥夺性资源非剥夺性资源是指当系统把这类资源分配给是指当系统把这类资源分配给某个进程后,某个进程后,再不能强行收回再不能强行收回,只能在进程,只能在进程用完后自行释放,如磁带机、打印机等用完后自行释放,如磁带机、打印机等v竞争非剥夺性资源竞争非剥夺性资源 系统中的系统中的非剥夺性资源非剥夺性资源由于数量有限而不能由于数量有限而不能满足进程运行的需要,进程在运行过程中因满足进程运行的需要,进程在运行过程中因争夺这些资源而限入僵局争夺这些资源而限入僵局v竞争临时性资源竞争临时性资源 Page 11202
9、2-5-24Operating SystemOperating SystemI/O设设备备共共享享时时的的死死锁锁情情况况 若系统中只有一台打印机若系统中只有一台打印机R1R1和一台读卡机和一台读卡机R2R2,可,可供进程供进程P1P1和和P2P2共享。若共享。若形成环路形成环路,这样会产生死锁。,这样会产生死锁。R1R2P1P2分配分配分配分配请求请求请求请求Page 122022-5-24Operating SystemOperating System 进程之间通信时的死锁进程之间通信时的死锁 S2P1S3P3S1P2产生产生P2P2产生产生P3P3产生产生要求接收要求接收要求接收要求接收
10、要求接收要求接收Page 132022-5-24Operating SystemOperating Systemq进程推进顺序不当引起死锁进程推进顺序不当引起死锁P2Rel(R1)P2Rel(R2)P2Req(R1)P2Req(R2)P1Req(R1)P1Req(R2) P1Rel(R1) P1Rel(R2)D不安全区Page 142022-5-24Operating SystemOperating Systemq若并发进程若并发进程P P1 1和和P P2 2按曲线按曲线所示的顺序推所示的顺序推进,它们将进入不安全区进,它们将进入不安全区D D内。此时内。此时P P1 1保保持了资源持了资源
11、R R1 1, P, P2 2保持了资源保持了资源R R2 2, , 系统处于系统处于不安全状态。因为,这时两进程再向前不安全状态。因为,这时两进程再向前推进,便可能发生死锁。推进,便可能发生死锁。q例如,当例如,当P P1 1运行到运行到P P1 1:Request(R:Request(R2 2) )时,将时,将因因R R2 2已被已被P P2 2占用而阻塞;当占用而阻塞;当P P2 2运行到运行到P P2 2: : Request(RRequest(R1 1) )时,也时,也将因将因R R1 1已被已被P P1 1占用而占用而阻塞,于是发生了进程死锁阻塞,于是发生了进程死锁Page 152
12、022-5-24Operating SystemOperating Systemq死锁的基本概念死锁的基本概念q产生死锁的原因产生死锁的原因q产生死锁的必要条件产生死锁的必要条件q处理死锁的基本方法处理死锁的基本方法Page 162022-5-24Operating SystemOperating Systemq 互斥条件互斥条件 v进程对所分配到的资源进行进程对所分配到的资源进行排它性的使用排它性的使用q 请求和保持条件请求和保持条件 v进程已经至少进程已经至少保持了一个保持了一个资源,但又提出了资源,但又提出了新的资源新的资源请求请求,而该资源又已被其他进程占,而该资源又已被其他进程占有有
13、q 不剥夺条件不剥夺条件 v进程已获得的资源在未使用完之前不能被剥进程已获得的资源在未使用完之前不能被剥夺夺q 环路等待条件环路等待条件v在发生死锁时,必然存在一个进程在发生死锁时,必然存在一个进程-资源循资源循环等待的环形链环等待的环形链Page 172022-5-24Operating SystemOperating Systemq死锁的基本概念死锁的基本概念q产生死锁的原因产生死锁的原因q产生死锁的必要条件产生死锁的必要条件q处理死锁的基本方法处理死锁的基本方法Page 182022-5-24Operating SystemOperating Systemq 预防死锁预防死锁q 避免死锁
14、避免死锁q 检测死锁检测死锁q 解除死锁解除死锁Page 192022-5-24Operating SystemOperating System3.5.3 处理死锁的基本方法处理死锁的基本方法 目前用于处理死锁的方法可归结为以下四种:1、预防死锁、预防死锁 通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个条件,来防止发生死锁。2、避免死锁、避免死锁 不须采用各种限制措施去破坏产生死锁的必要条件,防止系统进入不安全状态,从而避免发生死锁,只需在事先加以较弱的限制条件。3、检测死锁、检测死锁 不须检查系统是否已进入不安全区,允许系统在运行过程中发生死锁。4、 解除死锁解除死锁 常用
15、的实施方法是撤消或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态,以继续运行。Page 202022-5-24Operating SystemOperating System方法方法资源分配策略资源分配策略各种可能模式各种可能模式 主要优点主要优点主要缺点主要缺点预防预防Prevention保守的;宁可资保守的;宁可资源闲置(从机制源闲置(从机制上使死锁条件不上使死锁条件不成立,即摒弃三成立,即摒弃三个必要条件)个必要条件)一次请求所有一次请求所有资源资源适用于作突发式处理的适用于作突发式处理的进程;不必剥夺进程;不必剥夺效率低;进程初始化效率低;进程
16、初始化时间延长时间延长剥夺次数过多;多次剥夺次数过多;多次对资源重新起动对资源重新起动不便灵活申请新资源不便灵活申请新资源资源剥夺资源剥夺适用于状态可以保存和适用于状态可以保存和恢复的资源恢复的资源资源资源按序申请按序申请避免避免Avoidance是是“预防预防”和和“检测检测”的折衷的折衷(在运行时判断(在运行时判断是否可能死锁)是否可能死锁)寻找可能的安寻找可能的安全的运行顺序全的运行顺序 不必进行剥夺不必进行剥夺使用条件:必须知道使用条件:必须知道将来的资源需求;进将来的资源需求;进程可能会长时间阻塞程可能会长时间阻塞检测检测Detection宽松的;只要允宽松的;只要允许,就分配资源许
17、,就分配资源定期检查死锁定期检查死锁是否已经发生是否已经发生不延长进程初始化时间;不延长进程初始化时间;允许对死锁进行现场处允许对死锁进行现场处理理通过剥夺解除死锁,通过剥夺解除死锁,造成损失造成损失可以在编译时(而不必可以在编译时(而不必在运行时)就进行检查在运行时)就进行检查Page 212022-5-24Operating SystemOperating Systemq处理机调度的基本概念处理机调度的基本概念 q调度算法调度算法 q实时调度实时调度 q多处理机系统中的调度多处理机系统中的调度q产生死锁的原因和必要条件产生死锁的原因和必要条件 q预防死锁的方法预防死锁的方法 q死锁的检测与
18、解除死锁的检测与解除Page 222022-5-24Operating SystemOperating Systemq预防死锁预防死锁q系统安全状态系统安全状态q利用银行家算法避免死锁利用银行家算法避免死锁Page 232022-5-24Operating SystemOperating Systemq 互斥条件互斥条件 v进程对所分配到的资源进行进程对所分配到的资源进行排它性的使用排它性的使用q 请求和保持条件请求和保持条件 v进程已经至少进程已经至少保持了一个保持了一个资源,但又提出了资源,但又提出了新的资源新的资源请求请求,而该资源又已被其他进程占,而该资源又已被其他进程占有有q 不剥夺
19、条件不剥夺条件 v进程已获得的资源在未使用完之前不能被剥进程已获得的资源在未使用完之前不能被剥夺夺q 环路等待条件环路等待条件v在发生死锁时,必然存在一个进程在发生死锁时,必然存在一个进程-资源循资源循环等待的环形链环等待的环形链Page 242022-5-24Operating SystemOperating Systemq 摒弃摒弃“请求和保持请求和保持”条件条件 v所有进程在开始运行之前必须所有进程在开始运行之前必须一次性的一次性的申请申请整个运行过程所需的全部资源整个运行过程所需的全部资源v简单、易于实现、安全简单、易于实现、安全v资源浪费严重资源浪费严重v进程延迟运行进程延迟运行Pa
20、ge 252022-5-24Operating SystemOperating Systemq摒弃摒弃“不剥夺不剥夺”条件条件 v进程逐个地申请所需资源进程逐个地申请所需资源v当一个已经保持了某些资源的进程当一个已经保持了某些资源的进程申请申请新资源而不能得到满足时,必须放弃新资源而不能得到满足时,必须放弃所所有已保持的资源有已保持的资源v实现复杂、代价高昂实现复杂、代价高昂v延长了进程的周转时间,还增加了系统延长了进程的周转时间,还增加了系统开销,降低了系统的吞吐量开销,降低了系统的吞吐量Page 262022-5-24Operating SystemOperating Systemq摒弃摒
21、弃“环路等待环路等待”条件条件v系统将所有资源按类型分配序号并排队系统将所有资源按类型分配序号并排队v所有进程所有进程申请申请资源必须资源必须按序号按序号递增的顺递增的顺序序v资源利用率和系统吞吐量较高资源利用率和系统吞吐量较高v但在资源管理和资源申请方面仍有问题但在资源管理和资源申请方面仍有问题Page 272022-5-24Operating SystemOperating System序号序号资源资源1输入机输入机2打印机打印机3磁带机磁带机进程进程需求资源需求资源P1打印机打印机磁带机磁带机P2磁带机磁带机打印机打印机存在问题:资源的需求顺序不等于存在问题:资源的需求顺序不等于序号,仍
22、存在资源浪费。序号,仍存在资源浪费。Page 282022-5-24Operating SystemOperating Systemq摒弃摒弃“环路等待环路等待”条件条件q其资源利用率和系统吞吐量,都有较明显其资源利用率和系统吞吐量,都有较明显的改善,但也存在下述严重问题:的改善,但也存在下述严重问题:v(1)资源所分配的序号,必须相对稳定,这)资源所分配的序号,必须相对稳定,这就限制了新设备类型的增加。就限制了新设备类型的增加。v(2)进程使用各资源的顺序,与系统规定的)进程使用各资源的顺序,与系统规定的顺序不同,造成对资源的浪费。顺序不同,造成对资源的浪费。v(3)按规定次序申请资源的方法
23、,必然会限)按规定次序申请资源的方法,必然会限制了用户简单、自主地编程。制了用户简单、自主地编程。 Page 292022-5-24Operating SystemOperating System方法方法资源分配策略资源分配策略各种可能模式各种可能模式 主要优点主要优点主要缺点主要缺点预防预防Prevention保守的;宁可资保守的;宁可资源闲置(从机制源闲置(从机制上使死锁条件不上使死锁条件不成立,即摒弃三成立,即摒弃三个必要条件)个必要条件)一次请求所有一次请求所有资源资源适用于作突发式处理的适用于作突发式处理的进程;不必剥夺进程;不必剥夺效率低;进程初始化效率低;进程初始化时间延长时间延
24、长剥夺次数过多;多次剥夺次数过多;多次对资源重新起动对资源重新起动不便灵活申请新资源不便灵活申请新资源资源剥夺资源剥夺适用于状态可以保存和适用于状态可以保存和恢复的资源恢复的资源资源资源按序申请按序申请避免避免Avoidance是是“预防预防”和和“检测检测”的折衷的折衷(在运行时判断(在运行时判断是否可能死锁)是否可能死锁)寻找可能的安寻找可能的安全的运行顺序全的运行顺序 不必进行剥夺不必进行剥夺使用条件:必须知道使用条件:必须知道将来的资源需求;进将来的资源需求;进程可能会长时间阻塞程可能会长时间阻塞检测检测Detection宽松的;只要允宽松的;只要允许,就分配资源许,就分配资源定期检查
25、死锁定期检查死锁是否已经发生是否已经发生不延长进程初始化时间;不延长进程初始化时间;允许对死锁进行现场处允许对死锁进行现场处理理通过剥夺解除死锁,通过剥夺解除死锁,造成损失造成损失可以在编译时(而不必可以在编译时(而不必在运行时)就进行检查在运行时)就进行检查Page 302022-5-24Operating SystemOperating Systemq预防死锁预防死锁q系统安全状态系统安全状态q利用银行家算法避免死锁利用银行家算法避免死锁Page 312022-5-24Operating SystemOperating Systemq进程推进顺序不当引起死锁进程推进顺序不当引起死锁P2Re
展开阅读全文