自考“操作系统原理”复习资料(9)
本章考核知识点 :1、死锁的产生 2、死锁的防止 3、死锁的避免4、死锁的检测
本章自学要求 :理解“死锁”影响系统的可靠性。死锁的产生与进程对资源的需求、进程的执行速度、资源的分配策略有关。系统应采用一定的策略实现资源分配以保证系统的安全。
本章重点是 :死锁的 防止 和 避免 .
一、死锁的产生( 领会 )
话说狼GG和狼MM面对面走上一根独木桥。
狼GG说:呵呵,小MM,我已经占领了这座桥的一半,你不如退出去让我先过去吧。
狼MM说,哼哼,老兄,我也占了这座桥的一半,你咋不让给我?
狼GG和狼MM互不相让,都在等对方先让步。结果两个都过不了河。等着猎人来处理后事了。
1、什么叫 死锁 : 若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”。或说这组进程处于“死锁”状态。
2、引起死锁的因素:死锁的出现除了与资源的分配策略有关外,也与并发进程的执行速度有关,即操作系统对资源管理不得当或没有顾及进程并发执行时可能出现的情况,则就可能形成死锁。
二、死锁的防止( 简单应用 ) 我们把桥的一半看作一个资源的话,那么,当狼MM占用了其中一个资源后,狼GG就只好等待了。
狼GG狼MM各自占有了一段资源又在等另外的资源,又不肯放弃自己占有的资源。
他们又不能把对方踢下河去,把另一段资源抢过来自己用。
只好互相等待了。
这4个条件是必要条件而不是充分条件,意思是,只要发生死锁,那么这四个条件必然都成立。反之则不然,有时候即使四个条件都满足,那也不一定发生死锁。(从资源分配图中可以分析得到,即使形成循环等待资源,也不一定形成死锁。)
1、系统出现死锁必然同时保持的四个必要条件:
1)互斥使用资源
2)占有并等待资源
3)不可抢夺资源
4)循环等待资源
2、死锁的 防止策略 :要防止死锁形成,只要采用的资源分配策略能使上述4个条件中有一个条件不成立就可以了。
1)破坏互斥使用资源的条件经常是行不通的。因为资源本身特性就是互斥使用的。
2)要破坏“占有并等待条件”则可以采取两种办法: 静态分配 和 释放已占资源 .
静态分配 也称为 预分配资源 ,要求每一个进程在开始执行前就申请它所需要的全部资源,仅当系统能满足进程的资源申请要求且把资源分配给进程后,该进程才能开始执行。
释放已占资源 就是指进程申请资源时必须没有占用资源,如果已经占用了资源就要先归还所占的资源再申请。
3)实现 可抢夺式分配 :如果一个进程已经占有了某些资源又要申请新资源,而新资源不能满足(已被其它进程占用)必须等待时,系统可以抢夺该进程已占有的资源。
4)实现 按序分配 :把系统中所有资源排一个顺序,对每一个资源给一个确定的编号,规定任何一个进程申请两个以上的资源时,总是先申请编号小的资源,再申请编号大的资源。
三、死锁的避免( 简单应用 ) 死锁的避免不同于死锁的防止,死锁的防止是采用某种分配策略后,系统就不会产生死锁,这好比是你打过了某种预防针,再也不会得那种病。而死锁的避免是没有打预防针,但是通过其他办法,避免得病。因此有“安全状态”的说法,对应的,当然也有不安全状态。就像人都有得病的可能,不必任何病都打预防针。只要注意防病,仍然可以安全健康的生活。
1、 安全状态 :如果操作系统能保证所有的进程在 有限的时间 内得到需要的 全部资源 ,则称系统处于“安全状态”。
2、区分死锁的 避免 与死锁的 防止 :当采用了防止死锁的资源分配策略后,系统中就不会形成死锁。但是可以防止死锁的资源分配策略中,有的只适用于对某些资源的分配,有的会影响资源的使用效率。这时可用使用死锁的避免。
死锁的避免是解决死锁的另一种方法,它不同于死锁的防止。在系统中不采用防止死锁的资源分配策略,而是估计到可能有死锁发生时避免死锁的发生。
3、银行算法是怎样避免死锁的:
银行家算法是这样的:
1)当一个用户对资金的最大的需求量不超过银行家现有的资金时就可以接纳该用户。
2)用户可以分期贷款,但贷款的总数不能超过最大需求量。
3)当银行家现有的资金不能满足用户的尚需贷款时,对用户的贷款可推迟支付,但总能使用户在有限的时间里得到贷款。
4)当用户得到所需的全部资金后,一定能在有限的时间里归还所有资金。
我们把操作系统看作是银行家,操作系统管理的资源相当于是银行家管理的资金,则银行家算法就是:
1)当一个进程首次申请资源时,测试该进程对资源的最大的需求量,如果不超过系统现存资源时就可以按他的当前申请量为其分配资源。 否则推迟分配。
2)进程执行中继续申请资源时,测试该进程占用资源和本次申请资源总数有没有超过最大需求量。超过就不分配,没超过则再测试现存资源是否满足进程还需要的最大资源量,满足则按当前申请量分配,否则也推迟分配。
总之,银行家算法要保证分配资源时系统现存资源一定能满足至少一个进程所需的全部资源。这样就可以保证所有进程都能在有限时间内得到需要的全部资源。这就是安全状态。
(银行家算法在操作系统的实践考试中可能会用到)
四、死锁的检测( 领会 ) 死锁的检测
就是既不打预防针,也不去避免得病,而是经常去体检,如果发现有病了就治疗。这是一种事后解决的办法,也算是解决死锁问题的一条途径。但这毕竟要付出较大代价。
1、什么是 死锁的检测 :对资源的申请和分配不加限制,只要有剩余的资源就可把资源分配给申请者。这样可能会出现死锁,系统定时运行一个“死锁检测程序”,如果检测到死锁发生,则必须先解除死锁再继续工作。
2、怎样实现死锁的检测:1、每个资源当用中只有一个资源2、资源类中含有若干个资源。
3、 死锁的解除 :一般采用两种方式来解除死锁,一种是终止一个或几个进程的执行以破坏循环等待;另一种是从涉及死锁的进程中抢夺资源。
检测死锁和解除死锁都要付出很大代价。所以用死锁检测的方法解决死锁问题只适用于 不经常发生死锁 的系统中。
2.部分稿件来源于网络,如有不实或侵权,请联系我们沟通解决。最新官方信息请以湖北省教育考试院及各教育官网为准!
-
112023-03湖北自考《运输保险》精选习题及答案汇总湖北自考《运输保险》精选习题及答案汇总
-
112023-03湖北自考《运输保险》精选习题及答案(5)湖北自考《运输保险》精选习题及答案(5)
-
112023-03湖北自考《运输保险》精选习题及答案(4)湖北自考《运输保险》精选习题及答案(4)
-
112023-03湖北自考《运输保险》精选习题及答案(3)湖北自考《运输保险》精选习题及答案(3)
-
112023-03湖北自考《运输保险》精选习题及答案(2)湖北自考《运输保险》精选习题及答案(2)
-
112023-03湖北自考《运输保险》精选习题及答案(1)湖北自考《运输保险》精选习题及答案(1)
已帮助10w万+意向学历提升用户成功上岸
-
毛泽东思想概论
培训优势:课时考点精讲+刷题+冲刺,熟练应对考试题型。全程督促学习,安排好学习计划。 毛泽东思想概论...自考培训 -
英语二
本课程既是一门语言实践课程,也是拓宽知识、了解世界文化的重要素质课程,它以培养学习者的综合语言应用能力为目标,使他们在学习、工作和社会交往中能够使用英语进行有效的交流。 英语二...自考培训 -
马克思主义基本原理概论
本书包括两个部分:自学考试大纲和基本原理。主要内容有,马克思主义是关于工人阶级和人类解放的科学,物质世界及其发展规律,认识的本质及其规律,人类社会及其发展规律,资本主义的形成及其发展,资本主义发展的历史进程,社会主义社会及其进程,共产主义社会及其进程等。 马克思主义基本原理概论...自考培训 -
思想道德修养与法律基础
《思想道德修养与法律基础》课具有鲜明的政治性、思想性、理论性、针对性、科学性、知识性以及实践性和修养性。它包罗政治、思想、道德、心理本质、学习成才和法律本质等内容,指导和回答大学生在人生、抱负、信念等方面遍及关心和迫切需要解决的问题。 思想道德修养与法律基础...自考培训 -
中国近代史纲要
“中国近现代史纲要”全国高等教育自学考试指定教材,依据中央审定的普通高等学校“中国近现代史纲要”编写大纲以及马克思主义理论研究和建设工程重点教材《中国近现代史纲要》,结合自学考试的特点设计了十章,集中讲述1840年鸦片战争爆发一直到2007年中国共产党第十七次全国代表大会召开的160多年的中国近现代历史。 中国近代史纲要...自考培训
扫一扫关注微信公众号
随时获取湖北省自考政策、通知、公告以及各类学习资料、学习方法、课程。