简单介绍死锁内容
树图思维导图提供 计算机理论知识死锁思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 计算机理论知识死锁思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:fc66b477a756fd8c37f594800cdfd7fe
死锁思维导图模板大纲
可消耗资源
又称临时性资源,在进程运行期间由进程动态创建和消耗
可重用资源
只能分配给一个进程使用,不能多个进程共享
进程在运行期间既不能创建也不能消耗它
对资源的请求和释放都利用系统调用来实现
竞争不可抢占性资源
竞争可消耗资源
信号量引起死锁
进程推进顺序不当
互斥条件
请求和保持条件
不可抢占条件
循环等待条件
避免死锁
在资源动态分配过程中,防止系统进入不安全状态
利用银行家算法避免死锁
可以求出安全队列;需要知道进程所需全部资源数
银行家算法只能避免死锁,不能检测死锁
不安全状态与死锁
死锁一定是不安全状态;不安全状态不一定是死锁(2013)
检测死锁
死锁定理:S为死锁状态的充分条件是:当且仅当S的资源分配图是不可完全简化的
资源分配图(有向图)
两种结点:进程结点;资源结点
两种边:请求边;分配边
注意:箭头个数就是资源分配数
解除死锁
撤销进程法
撤销部分或全部死锁进程
进程回退法
让进程逐个回退到足以回避死锁的地步
资源剥夺法
抢占足够多数量的资源分配给死锁进程
预防死锁
破坏“请求和保持”
进程在开始之前,必须一次性申请所需全部资源
进程运行过程中逐步释放自己用过的资源再请求新资源
破坏“不可抢占”
提出资源请求不能得到满足时释放自己已保持的全部资源
破坏“循环等待”
对系统所有资源线性排序,进程必须按顺序请求资源
破坏互斥条件
把临界资源改为可共享资源(SPOOLing技术)