只是在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的要求可以得到满足,因此该系统是安全的,或者是系统不安全的,因为目前没有任何可能的请求能得到满足?

有帮助吗?

解决方案

在系统处于安全状态,因为方法1可以运行。当完成后,将有2的过程来完成资源A和资源B的足够的份数。因此,存在一个“方案”与该系统可以运行其过程完成。这意味着它是安全的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top