死锁概述

死锁的概念
在这里插入图片描述
死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,它们都将无法再向前推进。
产生死锁的原因和必要条件
1.产生死锁的原因
(1)竞争资源
消耗性资源(如:消息)
不可抢占性资源(如:打印机)
(2) 进程推进顺序不当
在这里插入图片描述
2.产生死锁的必要条件.
(1) 互斥条件
(2)请求与保持条件
(3)不剥夺条件
(4)环路等待条件
处理死锁的方法
处理死锁的方法:
(1)预防死锁
(2)避免死锁
(3) 检测死锁
(4)解除死锁
预防死锁
通过设置某些限制条件,破坏导致死锁的四个必要条件之一”互斥条件”一由资源的性质决定,不可破坏且要保证。
1.破坏“请求和保持”条件
目标:防止“保持时请求、请求时保持”
(1)第一种协议
方法:在进程开始运行前,一次性分配给它所需的“全部”资源。
优点:简单易实现,安全性高。
缺点:资源浪费;经常发生饥饿现象。
(2) 第二种协议
方法:允许一-个进程只获得运行初期所需的资源后,便开始运行。进程运行过程中再逐步释放已分配给自己的、且已用毕的全部资源,然后再请求新的所需资源。
优点:资源利用率高,减少了饥饿现象。
2.破坏“不可抢占”条件
目标:变不可剥夺为可剥夺
方法:在进程运行中,若新的资源请求得不到满足,必须释放已占有的所有资源,待以后重新申请。
缺点:实现起来比较复杂,代价高。
3.破坏“循环等待”条件
目标:避免出现请求环
方法:资源按类型排序,进程按照资源序号递增的次序提出资源申、请。(有序资源分配法)
优点:资源利用率高和系统吞吐量大。
缺点:必须按顺序申请,限制新设备的增加和程序员的自主编程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值