- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图3-9示出了具有两个周期性实时任务的调度情况。 图3-9 利用ELLF算法进行调度的情况 3.4.5 优先级倒置(priority inversion problem) 1. 优先级倒置的形成 当前OS广泛采用优先级调度算法和抢占方式,然而在系统中存在着影响进程运行的资源而可能产生“优先级倒置”的现象,即高优先级进程(或线程)被低优先级进程(或线程)延迟或阻塞。我们通过一个例子来说明该问题。 假如P3最先执行,在执行了P(mutex)操作后,进入到临界区CS-3。在时刻a,P2就绪,因为它比P3的优先级高,P2抢占了P3的处理机而运行,如图3-10所示。 图3-10 优先级倒置示意图 2. 优先级倒置的解决方法 一种简单的解决方法是规定:假如进程P3在进入临界区后P3所占用的处理机就不允许被抢占。 图3-11示出了采用动态优先级继承方法后,P1、P2、P3三个进程的运行情况。 图3-11 采用了动态优先级继承方法的运行情况 ? 3.5 死 锁 概 述3.5.1 资源问题 在系统中有许多不同类型的资源,其中可以引起死锁的主要是,需要采用互斥访问方法的、不可以被抢占的资源,即在前面介绍的临界资源。系统中这类资源有很多,如打印机、数据文件、队列、信号量等。 1. 可重用性资源和消耗性资源 1) 可重用性资源 可重用性资源是一种可供用户重复使用多次的资源,它具有如下性质: (1) 每一个可重用性资源中的单元只能分配给一个进程使用,不允许多个进程共享。 (2) 进程在使用可重用性资源时,须按照这样的顺序:① 请求资源。如果请求资源失败,请求进程将会被阻塞或循环等待。② 使用资源。进程对资源进行操作,如用打印机进行打印;③ 释放资源。当进程使用完后自己释放资源。 (3) 系统中每一类可重用性资源中的单元数目是相对固定的,进程在运行期间既不能创建也不能删除它。 2) 可消耗性资源 可消耗性资源又称为临时性资源,它是在进程运行期间,由进程动态地创建和消耗的,它具有如下性质:① 每一类可消耗性资源的单元数目在进程运行期间是可以不断变化的,有时它可以有许多,有时可能为0;② 进程在运行过程中,可以不断地创造可消耗性资源的单元,将它们放入该资源类的缓冲区中,以增加该资源类的单元数目。③ 进程在运行过程中,可以请求若干个可消耗性资源单元,用于进程自己的消耗,不再将它们返回给该资源类中。 2. 可抢占性资源和不可抢占性资源 1) 可抢占性资源 可把系统中的资源分成两类,一类是可抢占性资源,是指某进程在获得这类资源后,该资源可以再被其它进程或系统抢占。 2) 不可抢占性资源 另一类资源是不可抢占性资源,即一旦系统把某资源分配给该进程后,就不能将它强行收回,只能在进程用完后自行释放。 3.5.2 计算机系统中的死锁 1. 竞争不可抢占性资源引起死锁 通常系统中所拥有的不可抢占性资源其数量不足以满足多个进程运行的需要,使得进程在运行过程中,会因争夺资源而陷入僵局。 我们可将上面的问题利用资源分配图进行描述,用方块代表可重用的资源(文件),用圆圈代表进程,见图3-12所示。 图3-12 共享文件时的死锁情况 2. 竞争可消耗资源引起死锁 现在进一步介绍竞争可消耗资源所引起的死锁。图3-13示出了在三个进程之间,在利用消息通信机制进行通信时所形成的死锁情况。 图3-13 进程之间通信时的死锁 3. 进程推进顺序不当引起死锁 除了系统中多个进程对资源的竞争会引发死锁外,进程在运行过程中,对资源进行申请和释放的顺序是否合法,也是在系统中是否会产生死锁的一个重要因素。 1) 进程推进顺序合法 在进程P1和P2并发执行时,如果按图3-14中的曲线①所示的顺序推进:P1:Request(R1)→P1:Request(R2)→P1:Releast(R1)→P1:Release(R2)→P2:Request(R2)→P2:Request(R1)→P2:Release(R2)→P2:Release(R1),两个进程可顺利完成。类似地,若按图中曲线②和③所示的顺序推进,两进程也可以顺利完成。我们称这种不会引起进程死锁的推进顺序是合法的。 2) 进程推进顺序非法 若并发进程P1和P2按图3-14中曲线④所示的顺序推进,它们将进入不安全区D内。此时P1保持了资源R1,P2保持了资源R2,系统处于不安全状态。此刻,如果两个进程继续向前推进,就可能发生死锁。例如,当P1运行到P1:Request(R2)时,将因R2已被P2占用而阻塞;当P2运行到P2:Request(R1)时,也将因R1已被
您可能关注的文档
- 第三节杀菌工艺条件解说.ppt
- 船舶电喷柴油机-瓦锡兰共轨技术解说.ppt
- 第三节商品检验的方法解说.ppt
- 船舶电气设备与系统解说.ppt
- 船舶高级消防(新版)解说.ppt
- 毕业论文xx上市公司的财务与预测的介绍.doc
- 第三章(第1节)单自由度系统的强迫振动解说.ppt
- 毕业论文地随1201班刘银福介绍.doc
- 毕业论文—固体胶壳体上推件注射模具设计介绍.doc
- 第三节神经调节的基本方式解说.ppt
- 2025年青岛市生态环境局所属部分事业单位招聘紧缺急需人才6人笔试备考题库参考答案详解.docx
- 2025年陕西省水利厅所属事业单位招聘博士研究生笔试高频难、易错点备考题库及参考答案详解1套.docx
- 上海市气功研究所工作人员公开招聘笔试高频难、易错点备考题库带答案详解.docx
- 2025年首都医科大学附属北京妇产医院第三批招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年辽宁大连市甘井子区教育系统自主招聘应届生89人笔试高频难、易错点备考题库含答案详解.docx
- 中国人民银行机关服务中心2024年度公开招聘工作人员笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年贵州赤水市事业单位招聘113人笔试备考题库及参考答案详解1套.docx
- 2025年贵州省大数据发展管理局所属事业单位招聘5人方案笔试备考题库及参考答案详解一套.docx
- 2025年陕西商洛市事业单位招聘367人笔试备考题库及答案详解1套.docx
- 2025年贵州省公安厅招聘135名警务辅助人员笔试高频难、易错点备考题库及答案详解一套.docx
文档评论(0)