0

只是关于 Dijkstra银行家算法中安全/不安全状态的快速查询......

如果系统快照中的一个进程(例如下面的那个)已经满足了它的所有需求,并且没有足够的资源来满足任何其他进程的需求,那么系统是否处于安全状态? 我知道通常我们假设一个进程一旦收到其所需的资源,它将很快终止并返回所有资源,但是当我们计算系统的状态时是否考虑了这个假设?

  Allocated        Maximum     Available

    | A | B         | A | B      A | B
 ---+---+---     ---+---+---    ---+---
 P1 | 1 | 2      P1 | 1 | 2      1 | 3
 P2 | 5 | 3      P2 | 7 | 8    

编辑

只是为了让我的问题更清楚一点:上面示例中的系统是处于安全状态还是不安全状态?我们是否假设来自 P2 的请求被延迟到 P1 返回资源,此时 P2 的请求可以被满足,因此系统是安全的,或者系统是不安全的,因为当前没有可能的请求可以被满足?

4

1 回答 1

1

系统处于安全状态,因为进程 1 可以运行。当它完成时,将有足够的资源 A 和资源 B 的副本供进程 2 完成。因此,存在系统可以运行其进程以完成的“时间表”。这意味着它是安全的。

于 2010-05-18T00:24:12.333 回答