操作系统原理 第六章 死锁.ppt_第1页
操作系统原理 第六章 死锁.ppt_第2页
操作系统原理 第六章 死锁.ppt_第3页
操作系统原理 第六章 死锁.ppt_第4页
操作系统原理 第六章 死锁.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章死摇滾乐是指,不对资源进行限制的分配被进程间的网络冲突资源相互制约,如果有可能导致无法进一步执行的状况,则这就是死摇滾乐。 1、死摇滾乐的基本概念1、死摇滾乐发生的原因在于如果等待2个以上的进程无限期发生的上通告,那么这些进程就处于死摇滾乐状态。 进程执行的速度示例6-1对临时资源使用没有限制的示例6-2示例6-3生活中的示例:独木舟其他:等待信号操作顺序错误,导致死摇滾乐的原因有两个: 1系统资源短缺导致死摇滾乐的根本原因是系统提供的资源少于云同步进程所需的资源总数2进程推进顺序不合理,2,死摇滾乐的要件1 )排他条件2 )保持和要求条件3 )不夺取条件4 )循环条件,3,死摇滾乐的对

2、策1 )鸵鸟政策忽略死摇滾乐的发生,在unix和linux这样处理2 )预防对策破坏4个要件中的1个4 )在死摇滾乐检查和解除系统中设置检查机制,及时检查死摇滾乐的发生,确定死摇滾乐进程和卷入死摇滾乐的资源,采取适当措施,从死摇滾乐中解除死摇滾乐进程。 二、死区预防1、破坏互斥条件在行政许可多个进程向云同步网站数据库资源2,行政许可破坏不剥夺条件的进程动态申请资源的前提下,一个进程在申请新资源的要求不立即满足时处于等待状态。 可以剥夺等待进程的所有资源。 3、破坏“请求和保留”条件的静态资源分配法在资源预分配:进程开始之前,一次分配他所需的全部资源。 主要问题:如果进程等待所需资源的封摇滾乐时

3、间过长,某些资源可能在相当长的时间内不可用。进程不能一次性知道所需的所有资源。 4、针对破坏“循环排队”条件的循环条件的资源动态分配顺序资源使用法:对系统中的所有资源依次编号。 一般原则是,由于不足,稀有资源编号大。 进程申请资源时,必须按资源编号的顺序严格执行。 否则,将无法分配系统。 换句话说,一个进程只能得到编号小的资源,因此,只能请求编号大的资源;因此,按照编号递减的顺序来释放资源。 三、死区避免系统是动态检查流程发出的各系统能满足的资源申请,根据检查结果决定是否分配资源,保证分配后系统有可能死区摇滾乐,否则不分配的动态策略。 1、安全和不安全状态安全状态:在某一时间点,如果系统能够按

4、某一顺序为云同步进程分配必要的资源,使顺顺利利完成各进程直至最大需求,则此时的系统状态为安全状态。 这个序列是安全序列。 不安全的状态:在某个时刻,如果没有这样的安全序列,就称为不安全的状态。 不安全状态一定会引起死摇滾乐,但不安全状态不一定是死摇滾乐。 2、利用银行家算法避免死摇滾乐银行家将他的固定资金贷给几个顾客。 只要一个顾客借了所有的资金还不够,银行家的资金就必须安全。 银行家需要算法使借来的资金能够在有限的时间内收回。 银行家为了确保资金的安全,规定:1)一位顾客对资金的最大需求量不超过银行家现有的资金时,接受该顾客。 2 )顾客可以分割,但贷款总数不能超过最大需求量。3 )如果银行

5、家的现有资金还不能满足顾客所需的贷款金额,向顾客贷款可以推迟付款,但总是可以在有限的时间内让顾客获得贷款。 4 )客户得到所需的全部资金后,可以在有限的时间归还全部资金。 在执行操作系统开展,执行操作系统按照银行家的规定向进程分配资源,进程首先提出对资源的最大需求量,每当进程执行中申请资源时, 如果该进程占用的资源与本次申请的资源之和超过该进程对资源的最大需求量,则系统拒绝分配资源,如果不超过,则重新测试系统的现有资源是否能够满足该进程所需的最大资源量,如果能够满足,则以当前的申请量分配资源(1)数据结构可以利用资源向量Available。 这是包含m个元素的数组,每个元素表示可用资源的类数。

6、 最大需求沉积基质Max。 这是nm的沉积基质,系统中的n个进程中的每一个都定义了对m种资源的最大要求。 分配矩阵分配。 这也是一个nm矩阵,定义系统中各种类型的资源当前分配给每个进程的资源数。 需求沉积基质。 这也是nm的矩阵,表示每个进程所需的各种资源的数量。 注: Needi,j=Maxi,j-Allocationi,j,(二)银行家算法把Requesti作为进程Pi的要求向量,如果Requestij=K的话, 如果进程Pi需要k个Rj类型的资源. Pi提出资源请求(如果是RequestijNeedi,j,则转到步骤2 ),否则会被视为错误,因为所需资源数超过所公布的最大值。 (如果是R

7、equestijAvailablej,则表示没有一盏茶的资源,Pi必须等待。) (3)系统尝试将资源指配给进程Pi,修改数据结构的数值: availablej 3360=availablejrequestijallocationi,j:=Allocationi,等等(4)系统执行保密工作算法,本次资源分配后,检查系统是否处于安全状态。 如果安全,则将正式向进程Pi分配资源以完成该分配;否则,使此次的启发式文明棍分配无效,转移到原始资源分配状态并等待该进程Pi。 (3)保密工作问题(1)设置两个向量:工作向量Work:表示系统可以向该过程提供的连续执行所需的各种资源量,包括m个元素,并且在保密工

8、作算法开始执行时,工作向量Work=Available; Finish:指示系统是否为进程分配了一盏茶资源来完成执行。 首先Finishi=false; 如果进程分配了一盏茶资源,请设置Finishi=true。 (2)从进程集合中找出满足以下条件的进程: Finishi=false; 新世纪福音战士; 如果发现,则执行步骤(3),否则执行步骤(4)。 (3)工作j=工作I分配I,jFinishi=true,因为进程Pi获得资源后,在完成之前能够顺利地执行并释放被分配的资源; 到步骤(2); (4)如果所有进程的Finishi=true都满足,则表示系统处于安全状态,否则系统不安全。 例:假设

9、系统有5个进程P0、P1、P2、P3、P4和3种资源a、b、c,各资源的数量分别为10、5、7,在T0时刻的资源分配状况如图所示。 (1)分析该状态是否为安全状态(2) P1请求资源: P1请求向量request1(1,0,2 ),系统根据银行家算法检查是否安全(3) P4请求资源: P4请求向量request4()此外,作为资源分配的一个算法,银行家算法行政许可排他条件、要求和保持条件以及不剥夺的条件成立,与预防死摇滾乐相比,制约条件得到缓和,资源利用率得到改善,但存在不足:1)算法要求分配的资源数不一定;2 )算法用户数也不便。 3 )算法确保所有用户的资源请求都可以在有限的时间内响应,而

10、实时用户请求则要求更好的速度。 4 )算法要求用户在向用户提交作业时说明对各种资源的请求的最大数量,这对于用户来说是不便和困难的。 四、如果死摇滾乐检测系统中没有防盗机构,则系统执行中可能存在死摇滾乐。 因此,执行操作系统通常处于休眠状态,定期或在发现系统性能下降时被唤醒,并设有检查系统有无死摇滾乐的检查过程。 在采用这种技术时,系统需要监测资源的申请和释放,其中广泛应用的是描述系统内资源使用和申请情况的有向图,被称为资源分配格拉夫。 1 .资源分配图系统由几种资源构成,一种资源称为一种资源类,每个资源类都包含几个相同的资源,称为资源斯坦共和国。 资源类: -资源斯坦共和国3360由块摇滾乐中

11、的黑色圆圈表示(针对每个资源存在)的进程: -在圆中用进程名称指示分配边:资源斯坦共和国进程中的有向边申请边:进程资源类的有向边,2,死摇滾乐定理1 ) 寻找除孤立点之外的进程节点并将其设为孤立节点2 )等待该资源的进程,即,将某个进程的申请边设为指派边的进程。在某个状态下,死摇滾乐的一盏茶条件是这样的过程,在该状态下的资源分配图被完全简化、简化之后,不被孤立。 死摇滾乐的循环条件与在资源分配图中有循环的情况等价,在系统中发生死摇滾乐,在资源分配图中应该有循环,但是有循环时不一定死摇滾乐。环路死区摇滾乐无环路死区摇滾乐,5、死区摇滾乐的解除常用方法: 1、撤消所有死区摇滾乐进程2、系统设置了校验点和重启反应历程后,将死区摇滾乐进程恢复为上一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论