首页 > 试题广场 >

简述死锁的防止与死锁的避免的区别。

[问答题]

简述死锁的防止与死锁的避免的区别。

死锁防止是破坏产生死锁的四个条件(互斥条件,占用和等待条件,不剥夺条件,循环等待条件);
死锁避免仅根据当前进程申请资源的情况判断是否会进入不安全状态。
发表于 2018-07-19 13:31:30 回复(1)
死锁防止,即死锁预防:
        通过破坏导致死锁的必要条件来实现。
        1. 对于互斥条件,消除互斥会导致临界资源的共享访问,会产生预期之外的结果(一台打印机输出两个文件的混杂在一起的数据)。此必要条件不可破坏;
        2. 破坏不可剥夺条件:比如,对于保持了一定资源但迟迟无法请求到CPU的进程,就释放其资源,待以后申请资源;
        3. 破坏请求并保持条件:预先静态分配法,进程在运行前一次申请完所有资源,资源未满足前不予运行;
        4. 破坏循环等待条件:顺序资源分配法,进程必须按照资源序号递增的顺序申请资源,同类资源一次申请完。
死锁避免:
        银行家算法,在动态资源分配过程中检查是否存在不安全状态
发表于 2022-03-13 21:32:07 回复(0)