- 0
- 0
- 约小于1千字
- 约 2页
- 2023-09-16 发布于河北
- 举报
死锁知识考点总结
概念
定义
互相等待
死锁,饥饿,死循环的区别
产生原因
系统资源竞争
对不可剥夺的资源竞争
进程推进顺序非法
请求和释放资源的顺序不当
信号量使用不当
必要条件
互斥条件
不剥夺条件
请求和保持条件
保持一个资源又去提出了新的资源,资源还被其他进程占有
循环等待
发生死锁一定有循环等待,但循环等待不一定导致死锁
死锁处理策略
预防死锁(静态策略)
破坏互斥条件
互斥使用的资源改为允许共享使用(SPOOLing技术)
缺点:可行性不高,很多时候无法破坏互斥条件
破坏不剥夺条件
方案一:申请的资源得不到满足时,立即放弃拥有的所有资源
方案二:申请的资源被其他进程占用时,由操作系统协助剥夺(考虑优先级)
缺点:实现复杂,剥夺资源可能导致部分工作失效;反复申请和释放资源系统开销大;可能导致饥饿
破坏请求保持条件
运行前分配好所有需要的资源,之后一直保持
缺点:资源利用率低;可能导致饥饿
破坏等待条件
给资源按编号从小到大的顺序申请资源
缺点:不方便增加新设备;会导致资源浪费;用户编程麻烦
避免死锁(动态策略)
银行家算法
死锁的检测及解除
死锁的检测
资源分配图
死锁的解除
资源剥夺法
撤销进程法
进程回退法
原创力文档

文档评论(0)