- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统
6 并发程序设计–6.6 死锁
6.6.2 死锁的防止
死锁产生的四个必要条件
互斥条件: 进程应互斥使用资源,任一时刻
一个资源仅为一个进程独占
占有和等待条件: 一个进程请求资源得不到
满足而等待时,不释放已占有的资源
不剥夺条件: 任一进程不能从另一进程那里
抢夺资源
循环等待条件: 存在一个循环等待链,每一
个进程分别等待它前一个进程所持有的资源
死锁的防止
破坏四个必要条件之一,死锁就可防止
破坏第一个条件,把独占型资源改造成共享
性资源,使资源可同时访问而不是互斥使用。
这是一个简单的办法,但对许多资源往往是
不能做到的
采用剥夺式调度方法可以破坏第三个条件,
但剥夺式调度方法目前只适用于对主存资源
和处理器资源的分配,而不适用于所有资源
静态分配(预分配)
所谓静态分配是指一个进程必须在执行前就
申请它所要的全部资源,并且直到它所要的
资源都得到满足之后才开始执行
所有并发执行的进程要求的资源总和不超过
系统拥有的资源数
采用静态分配后,进程在执行中不再申请资
源,因而不会出现占有了某些资源再等待另
一些资源的情况,即破坏了第二个条件
层次分配
这种分配策略将阻止第四个条件的出现
在层次分配策略下,资源被分成多个层次
一个进程得到某一层的一个资源后,它只能
再申请在较高层的资源
当一个进程要释放某层的一个资源时,必须
先释放所占用的较高层的资源
当一个进程获得了某一层的一个资源后,它
想再申请该层中的另一个资源,那么,必须
先释放该层中的已占资源
本人专注于k12教育,英语四级考试培训,本人是大学本科计算机专业毕业生,专注软件工程计算机专业,也可承接计算机专业的C语言程序设计,Java开发,Python程序开发。
原创力文档


文档评论(0)