- 死锁的四个必要条件中无法破坏的是互斥使用资源
- 引入多道程序技术的前提条件之一是系统具有中断功能
- 资源分配图中无法判断是否处于死锁状态:
- 出现了环路(只满足了循环等待这一必要条件,不是充分条件)
- 每个进程结点至少有一条请求边(资源数未知因此不可以判断是否为死锁状态)
- 接上,可以用于判断是否处于死锁状态
- 没有环路(破坏了必要条件因此可以知道是非死锁的)
- 每种资源只有一个,且出现环路(充要条件可知为死锁)
- 关于定量判断是否发生死锁的题
- 不会发生死锁的最少资源数
- 不会发生死锁的最大进程数
- 公式:资源m个,n个进程,每个最大需求k,m≥n(k-1)+1时不会死锁
- 解法都是先给到每个进程比最大请求量少一个的资源数,如果是求最少资源,则是刚刚分配的加上1(3个进程,每个都要四个资源,分成3,3,3,然后再来一个给谁都能安全),如果是求进程数,则看能分成几块(比如11个资源,X个进程,每个最多3个,则分成2,2,2,2,2,余一个,给谁都能安全)
- 限制用户申请资源的顺序的只有死锁预防,死锁避免和死锁检测与解除都不会限制
- 死锁检测和解除时,系统为进程分配资源时不会采取任何措施来限制
- 关于三种策略对进程并发性的影响:并发性由大到小::无策略>死锁检测与解除>死锁避免>死锁预防,是与对分配干预的程度相一致的
死锁部分的题目
- 本文作者: 宋宇航
- 本文链接: https://songdlut.github.io/post/si-suo-bu-fen-de-ti-mu/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
0%
召唤看板娘
x
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
打开微信扫一扫,即可进行扫码打赏哦