- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统基础 1.死锁例子 2 死锁的概念 死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。 3. 产生死锁的原因 资源分类 根据资源本身的性质 可剥夺资源:如主存、CPU 不可剥夺资源:如驱动器、打印机等 根据资源使用期限 永久性资源:可再次使用,如所有硬件。 临时性资源:消耗性的资源,如消息、信号和数据 产生死锁的原因(续) 竞争资源 当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁; 进程推进顺序非法 进程在运行过程中,请求和释放资源的顺序不当,导致进程的死锁。 产生死锁的原因(续) 产生死锁的原因(续) 产生死锁的原因(续) 2 )进程推进顺序不当(进程并发的异步性) 进程可能按下述两种顺序向前推进 进程推进顺序合法 推进顺序非法 4. 产生死锁的必要条件 互斥条件(Mutual Exclusion) 即资源独占,某资源要求进程互斥地访问。 请求和保持(Hold and wait) 进程已占用至少一个资源,且又提出资源请求,当不能满足而阻塞时,保持原资源不释放。 不剥夺条件(No preemption) 资源申请者不能强行的从资源占有者手中夺取资源,资源只能由占有者自愿释放。 环路等待条件(Circular wait) 必有一进程--资源的环形链。环路中的进程形成等待链。 5. 处理死锁的基本方法 处理死锁的基本方法(续) (1) 预防死锁 在系统设计时确定资源分配算法,保证不发生死锁。具体的做法是破坏产生死锁的四个必要条件之一。 优点:实现简单; 缺点:条件严格,降低系统资源利用率和吞吐量。 (2) 避免死锁 在系统运行过程中,对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配 优点:条件较弱,较高资源利用率和吞吐量。 缺点:实现困难. 处理死锁的基本方法(续) (3) 死锁检测与解除: 允许死锁发生,操作系统不断监视系统进展情况,判断死锁是否发生; 一旦死锁发生则采取专门的措施,解除死锁并以最小的代价恢复操作系统运行. 3.6 死锁的预防和避免 死锁的预防 1. 摒弃“请求和保持”条件(资源一次性分配) 要求每个进程在运行前必须一次性申请它所要求的所有资源,且仅当该进程所要资源均可满足时才给予一次性分配。 缺点: 1)对于 “紧俏”资源,进程在整个生命周期一直占用,浪费严重; 2)进程延迟运行(starvation possible )。 2. 摒弃“不剥夺”条件:资源可剥夺 采取的策略:某进程在申请新资源不能满足时,释放已占用的所有资源,以后需要时再重新申请。意味着:进程已经占有的资源,在运行过程中可能会暂时的释放,也可认为是被剥夺了。 缺点: 实现比较复杂 反复地申请和释放资源使进程的执行无限地推迟,延长了周转时间,增加了系统的开销,降低了系统吞吐量。(例如打印机打印的结果不连续) 死锁的预防(续) 3. 摒弃“环路等待”条件 资源有序分配法 思想:所有资源按类型进行线性排队,并赋予不同的序号。进程对资源的请求必须按资源序号递增的次序提出。 如:输入机=1,打印机=2,磁带机=3,磁盘=4 缺点: 系统中各种类型的资源序号须相对稳定,这就限制了新设备类型的增加 作业实际使用资源的顺序与系统规定的顺序不同而造成资源的浪费; 死锁的预防(续) 二、死锁的避免 避免死锁与预防死锁的区别: 预防死锁是对于进程的资源申请命令施加限制。 避免死锁是在进程请求分配资源时进行动态检查,并根据检查结果决定是否实施资源分配。 避免死锁中,可把系统状态分为安全状态和不安全状态。 死锁的避免(续) 1、安全状态 系统能按某种顺序(如P1,P2,…,Pn)来为每个进程分配其所需的资源,使每个进程都可顺利完成,则称此时系统处于安全状态。 进程的序列P1,P2,…,Pn称为安全序列。 若不存在安全序列,则称系统处于不安全状态。 死锁的避免(续) 安全状态与不安全状态 死锁的避免(续) R1 R2 P1 P2 1 ) 竞争非剥夺性资源: R1 R2 P1 P2 R1代表系统中仅有的一台打印机 R2代表系统中仅有的一台磁带机 P1、 P2代表可共享资源的进程 1. 竞争资源 P1 S1 S3 P2 P3 S2 2) 竞争临时性资源 P1:Release(S1);Request(S3) P2:Release(S2);Request(S1) P3:Release(S3);Request(S2) P1:Request(S3);Release(S1) P2:Request(S1);Rel
您可能关注的文档
最近下载
- 附着式抱杆组塔施工方案(外抱杆).doc VIP
- 2025全国普通高等学校体育单招试题语文试卷.docx VIP
- 农村教师公开选调进城考试模拟试题1(初中地理·附参考答案).docx
- 电子式绝缘电阻测试仪讲解文档.ppt VIP
- 驻校教官培训课件.pptx
- GBT 21237-2018 石油天然气输送管用宽厚钢板.pdf
- 安徽泾县国有资产投资运营公司、泾县中小企业融资招聘笔试题库2025.pdf
- 安徽宣城市泾县国有资本投资运营控股集团有限公司招聘笔试题库2025.pdf
- 安徽宣城宁国市国有资产投资运营有限公司招聘笔试题库2023.pdf VIP
- 安徽芜湖市国有资本投资运营有限公司招聘笔试题库2022.pdf VIP
文档评论(0)