第4篇 操作系统.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.4.5 优先级倒置 1.优先级倒置的形成 ★ “优先级倒置”的现象 高优先级进程(或线程)被低优先级进程(或线程)延迟或阻塞。 ★例子 有三个完全独立的进程P1、P2和P3,P1的优先级最高,P2次之,P3最低。P1和P2通过共享的一个临界资源进行交互。下面是一段代码: P1: …P(mutex); CS-1; V(mutex);… P2: … program2…; P3: …P(mutex); CS-3; V(mutex) ;… 4.4.5 优先级倒置 2.优先级倒置的解决方法 ★一种简单的解决方法 假如进程P3在进入临界区后,P3所占用的处理机就不允许被抢占。 如果系统中的临界区都较短且不多,该方法是可行的。反之,如果P3临界区非常长,则高优先级进程P1仍会等待很长的时间,其效果是无法令人满意的。 ★一个比较实用的方法 当高优先级进程P1要进入临界区,去使用临界资源R,如果已有一个低优先级进程P3,正在使用该资源,此时一方面P1被阻塞,另一方面由P3继承P1的优先级,并一直保持到P3退出临界区。 返回 第四章 处理机调度与死锁 4.5 死锁概述 4.5.1 资源问题 在系统中有许多不同类型的资源,其中可以引起死锁的主要是,需要采用互斥访问方法的、不可以被抢占的资源,即在前面介绍的临界资源。 1.可重用资源和消耗性资源 ★可重用资源 一种可供用户重复使用多次的资源。 性质: ⑴每一个可重用资源中的单元,只能分配给一个进程使用,不允许多个进程共享; ⑵进程在对可重用资源的使用时,须按照请求资源、使用资源、释放资源这样的顺序。 ⑶系统中每一类可重用资源中的单元数目是相对固定的,进程在运行期间,既不能创建,也不能删除。 对资源的请求和释放通常都是利用系统调用来实现的。计算机系统中大多数资源都属于可重用资源。 1.可重用资源和消耗性资源 ★可消耗资源 又称为临时性资源,它是在进程运行期间,由进程动态的创建和消耗的。 性质: ⑴每一类可消耗性资源的单元数目,在进程运行期间是可以不断变化的,有时它可以有许多,有时可能为0; ⑵进程在运行过程中,可以不断地创造可消耗性资源的单元,将它们放入该资源类的缓冲区中,以增加该资源类的单元数目。 ⑶进程在运行过程中,可以请求若干个可消耗性资源单元,用于进程自己消耗,不再将它们返回给该资源类中。 可消耗资源通常是由生产者进程创建,由消费者进程消耗。最典型的可消耗资源,就是用于进程间通信的消息等。 4.5.1 资源问题 2.可抢占资源和不可抢占资源 ⑴可抢占资源 指某进程在获得这类资源后,该资源可以再被其他进程或系统抢占。对于这类资源是不会引起死锁的。 CPU和主存均属于可抢占性资源。 ⑵不可抢占资源 一旦系统把某资源分配给该进程后,就不能将它强行收回,只能在进程用完后自行释放。 磁带机、刻录机、打印机等也都属于不可抢占性资源。 4.5.2 计算机系统中的死锁 死锁的起因,通常是源于多个进程对资源的争夺,不仅对不可抢占资源进行争夺时,会引起死锁,而且对可消耗资源进行争夺时,也会引起死锁。 1.竞争不可抢占资源引起死锁 共享文件时的死锁情况 进程之间通信时的死锁 2.竞争可消耗资源引起死锁 顺序1: P1: … send(p2 , m1); receive(p3, m3); … P2: … send(p3 , m2); receive(p1, m1); … P3: … send(p1 , m3); receive(p2, m2); … 顺序2: P1: … receive(p3, m3); send(p2 , m1); … P2: … receive(p1, m1); send(p3 , m2); … P3: … receive(p2, m2); send(p1 , m3); … 死锁 4.5.3 死锁的定义、必要条件和处理方法 1.死锁的定义 如果一组进程中的每一个进程都在等待,仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。 2.产生死锁的必要条件 ⑴互斥条件:进程对所分配到的资

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档