正在加载图片...
死锁产生的必要条件 预防死锁 4)环路等待条件 预防 ◆存在进程资源环形链 ◆破坏死锁产生的四个条件的一个或几个 1)破坏互斥条件 c互斥访问是大部分资源的固有属性 ◆2)破坏请求和保持条件 c资源预分配,资源利用率低 ◆3)破坏不剥夺条件 c阻塞进程释放所有的资源,进程先前工作白费 ◆4)破坏环路等待条件 从资源出发的箭头表示已分配该资源 c资源按序分配,资源利用率低,进程受限 从进程出发的箭头表示进程正在申请资源 死锁的检测 资源分配图的化简 433死锁的检测 ■死锁检测法—资源图的化简 1)在图中找出一个不阻 资源分配图 寥,又不孤立的结点 c结点 2)削去该结点的所有 小进程结点 nP°边,使结点成为预立结 资源结点(同类资源形成一个结点)[ c有向线段 n3)继续步骤1直到所有 的结点都成为孤立结 进程正申请一个资源 点,或找不到可简化的 进程已获得一个资源 若资源分配图能被完全简化,则当前状态不存在死锁 反之,存在死锁进程,即那些非孤立结点 423进程之间的通信 进程同步问题的提出:进程异步推进可能造成混乱,混乱可能导致不可再现 进程同步目标:维持进程并发性以提高系统效率 进程间相互合作,资源有效共享(结果可再现) 进程间的两种主要关系 进程间的关系与进程间的独立性 进程间的关系是在进程间相对独立的前提下发展的 独立获得资源,独立调度死锁产生的必要条件 ◼ 4)环路等待条件 ◆存在进程——资源环形链 Proc1 s2 Proc2 s1 Proc1 Proc3 Proc2 s2 s3 s1 从进程出发的箭头表示进程正在申请资源 从资源出发的箭头表示已分配该资源 预防死锁 ◼ 4.3.2 解决死锁的方法之一——预防 ◆破坏死锁产生的四个条件的一个或几个 ◆1)破坏互斥条件 互斥访问是大部分资源的固有属性 ◆2)破坏请求和保持条件 资源预分配,资源利用率低 ◆3)破坏不剥夺条件 阻塞进程释放所有的资源,进程先前工作白费 ◆4)破坏环路等待条件 资源按序分配,资源利用率低,进程受限 死锁的检测 ◼ 4.3.3 死锁的检测 ◆资源分配图 结点: ❖进程结点 ❖资源结点(同类资源形成一个结点) 有向线段: ❖进程正申请一个资源 ❖进程已获得一个资源 P1 P1 P1 资源分配图的化简 ◼ 死锁检测法——资源图的化简 P1 P2 r1 r2 P1 P2 ◼ 1)在图中找出一个不阻 塞,又不孤立的结点 ◼ 2)削去该结点的所有 边,使结点成为孤立结 点 ◼ 3)继续步骤1直到所有 的结点都成为孤立结 点,或找不到可简化的 结点 若资源分配图能被完全简化,则当前状态不存在死锁。 反之,存在死锁进程,即那些非孤立结点。 4.2.3 进程之间的通信 进程同步问题的提出:进程异步推进可能造成混乱,混乱可能导致不可再现 进程同步目标: 维持进程并发性以提高系统效率 进程间相互合作, 资源有效共享(结果可再现) 进程间的两种主要关系 进程间的关系与进程间的独立性 进程间的关系是在进程间相对独立的前提下发展的 独立获得资源, 独立调度
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有