7.死锁的避免
采用银行家算法分配资源时,测试进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量时,就满足进程当前的申请,否则就推迟分配。这样做,能保证至少有一个进程可得到需要的全部资源而执行到结束,然后归还资源供别的进程使用。如果操作系统能保证所有的进程在有限时间内得到需要的全部资源,则称系统处于安全状态,否则就说系统是不安全的。不安全状态可能引起死锁。银行家算法是在能确保系统处于安全状态时才把资源分配给申请者。 8.死锁的检测
实现死锁检测的一种方法是,可以设置两张表格来记录进程使用和等待资源的情况。
检测到死锁,可采用抢夺某些进程占用的资源,或强迫进程结束,重新启动操作系统等办法来解除死锁。
9.在一个实际的操作系统中,为了安全和可靠,往往采用死锁的防止、避免和检测的混合策略,对不同的资源采用不同的分配策略,既考虑资源的使用效率,又保证整个系统不会出现死锁。
45

