死锁产生的条件和解决死锁的方法
来源:互联网 发布:美团送餐员用什么软件 编辑:程序博客网 时间:2024/06/05 15:31
产生死锁的原因
- 系统资源不足
- 资源分配不当
- 进程推进顺序的不合理
产生死锁的四个必要条件
- 互斥条件:一个资源每次只能被一个进程使用。 (资源本身的特点,不可避免)
- 请求与保持条件:一个进程因请求资源而等待时,不会释放已分配的资源。
- 不剥夺条件:进程已获得的资源,在未使用之前,不能被强行剥夺。
循环等待条件:若干个进程之间形成头尾相连的循环等待资源的关系。
只要产生死锁,这四个条件必定成立,若破坏其中一个条件,死锁就不会发生了。
解决死锁的方法
预防死锁
资源一次性分配:破坏请求和保持条件。 当某个资源只在进程结束时使用一小会,那么在进程运行期间,这个资源都被占用,资源利用率很低。比较好的方法是,进程开始时,只申请和使用进程启动的资源,在运行过程中不断申请新的资源,同时释放已经使用完的资源。
可剥夺资源:当进程新申请的资源不满足时,释放已经分配的资源。破坏不可剥夺条件。 在使用某些资源,比如打印机时,当强制剥夺已分配资源的时候,会导致打印机资源打印的信息不连续的问题。
资源有序分配:系统给进程编号,按某一顺序申请资源,释放资源则反序释放。破坏循环等待条件。
避免死锁
银行家算法:分配资源前先评估风险,会不会在分配后导致死锁。 即分配给一个进程资源的时候,该进程能否全部返还占用的资源。
检测死锁
建立资源分配表和进程等待表。
解除死锁
从其他进程强制剥夺资源给死锁进程。
可以直接撤销死锁进程,或撤销代价最小的进程。
阅读全文
0 0
- 死锁产生的条件和解决死锁的方法
- 死锁产生的条件和处理死锁的方法
- 死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法
- JAVA 死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法
- 产生死锁的原因和必要条件 解决死锁的方法
- 什么叫死锁?产生死锁的条件和预防死锁的各种方法
- 产生死锁的条件
- 死锁的产生和解决
- 死锁的产生和解决
- 操作系统:死锁的产生、条件、和解锁
- 操作系统:死锁的产生、条件、和解锁
- 死锁的产生、条件、和解锁
- 死锁的产生、条件和解锁
- 操作系统:死锁的产生、条件、和解锁
- 死锁的产生条件和预防处理
- 操作系统:死锁的产生、条件、和解锁
- 操作系统:死锁的产生、条件、和解锁
- linux--死锁(产生死锁的原因、条件和避免方法)
- 秒杀系统架构设计
- FAQ(13):Access denied for user ''@'localhost' to database 'localhost:3306//test'
- 关于Mysql操作命令的笔记
- VMware Workstation 与 Device/Credential Guard 不兼容的解决方案
- (转)大数据处理之道(十分钟学会Python)
- 死锁产生的条件和解决死锁的方法
- FAQ(14):Could not find result map com.smbms.entities.User
- 阿里巴巴前架构师360度无死角剖析微服务
- XML可扩展标记语言概述
- OpenCV学习笔记(10):人脸检测
- 基于Opencv3的活动轮廓模型--CV, RSF and DRLSE
- 联想IT监控携手Riverbed打造数字化转型之路
- JAVA基础------实现日期差值的计算
- 中计播客 | 为防止员工加班,无人机都用上了!