【操作系统】怎么避免死锁?

怎么避免死锁?

银行家算法。

当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量,则按当前的申请量分配资源,否则就推迟分配。
当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请资源数之和是否超过了该进程对资源的最大需求量,若超过则拒绝分配资源,若没超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若满足则按当前的申请量分配资源,否则也要推迟分配。


  • 安全序列

是指系统能按某种进程推进顺序(P1,P2, P3, …, Pn),为每个进程 Pi 分配其所需要的资源,直至满足每个进程对资源的最大需求,使每个进程都可以顺序地完成。这种推进顺序就叫安全序列【银行家算法的核心就是找到一个安全序列】。

  • 系统安全状态

如果系统能找到一个安全序列,就称系统处于安全状态,否则,就称系统处于不安全状态。

你可能感兴趣的:(Java)