操作系统死锁#60
死锁
约 362 字
标签操作系统
目录 · 5 个章节
产生原因
- 不可剥夺资源的竞争,以及进程推进顺序不当,都可能导致死锁。
定义
- 多个进程因竞争资源而造成的一种僵局。如果没有外力,这些进程将无法继续推进。
死锁的必要条件
- 互斥条件:资源一次只能被一个进程使用。
- 不剥夺条件:进程已获得的资源不能被强行剥夺,只能由进程主动释放。
- 请求并保持条件:进程在保持已有资源的同时,又请求新的资源。
- 循环等待条件:存在一组进程循环等待资源。
处理方法
- 预防死锁:
- 破坏互斥条件通常不现实,因为有些资源天然需要互斥访问。
- 破坏不剥夺条件。
- 破坏请求并保持条件。
- 破坏循环等待条件。
- 避免死锁:安全状态、银行家算法。
- 检测死锁:利用死锁定理。
- 解除死锁:资源剥夺法、撤销进程法、进程回退法。
解题公式
设某类资源共有 n 个,由 m 个进程共享,每个进程最多需要 p 个该类资源。若要保证系统不会因该类资源发生死锁,一个常用充分条件是:
等价地,已知 n 和 m 时,可以保证不死锁的最大 p 满足:
讨论
0 条评论
登录后参与讨论
登录后可以发布评论、回复和点赞。
暂无评论。