问答题 设系统中有下述解决死锁的办法: (1)银行家算法。 (2)检测死锁,终止处于死锁状态的进程,释放该进程所占有的资源。 (3)资源预分配。 请问哪种办法允许最大的并发性?即哪种办法允许更多的进程无等待地向前推进?请按并发性从大到小对上述3种办法进行排序。
【正确答案】3种办法中,首先检测死锁允许更多的进程无等待地向前推进。因为该方法允许死锁出现,即允许进程最大限度地申请并分配资源,直至出现死锁,再由系统解决。其次是银行家算法,该方法允许进程自由申请资源,只是在某个进程申请时检查系统是否处于安全状态,若是,则可立即分配,若不是,则拒绝。最后是资源预分配,因为此方法要求进程在运行之前申请所需的全部资源,这样会使许多进程因申请不到资源而无法开始,得到资源的进程也并不是同时需要所占的全部资源,因此导致资源的浪费。
【答案解析】