提纲
1.1 什么是死锁?
描述资源和进程间的分配和占用关系的有向图
是否有死锁?
提纲
2.2 死锁避免
2.3 死锁检测
2.4 死锁恢复
预防采用某种策略限制并发进程对资源的请求,或破坏死锁必要条件。
预防采用某种策略限制并发进程对资源的请求,或破坏死锁必要条件。
提纲
2.1 死锁预防
2.3 死锁检测
2.4 死锁恢复
利用额外的先验信息,在分配资源时判断是否会出现死锁,只在不会死锁时分配资源
资源分配中,系统处于安全状态
银行家 操作系统;资金 资源;客户 线/进程
提纲
2.1 死锁预防
2.2 死锁避免
2.4 死锁恢复
序列 对于所有的i,都可满足Finish[i] = true
可通过回收线程占用的资源,但资源不足以完成其他线程请求
线程形成死锁
检测到死锁后,应该如何处理?
提纲
2.1 死锁预防
2.2 死锁避免
2.3 死锁检测
仅允许进程在开始执行时,一次请求所有需要的资源 - 进程请求资源时,要求它不持有任何其他资源
预防是采用某种策略,限制并发进程对资源的请求,或使系统在任何时刻都不满足死锁的必要条件。
##### 死锁预防 ![w:900](figs/deadlock.png)