跳转至

银行家算法练习

先算 Need = Max − Allocation,再找当前能完成的进程。你可以检查原状态,也可以添加一次资源请求,比较试分配前后的安全性。

正在载入练习;若长时间未出现操作区,请刷新页面。

怎样读结果

Work 是安全性检查中的临时向量,不是实际发放资源。找到 Need 逐项不超过 Work 的进程后,假设它完成,将其已占有资源加回 Work。这里按进程编号从小到大寻找,每完成一个就重新扫描;给出的是一条可行序列,不保证是唯一序列。

请求必须先通过“请求不超过 Need”和“请求不超过 Available”两项检查,才能试分配。试分配后的不安全状态需要拒绝;不安全不等于已经死锁。每次运行都从输入的原状态开始,不把上次的试分配写回。

试试 P1 请求 1 0 2,再试试 P4 请求 3 3 0,比较差别。

回看调度与死锁 · 全部交互练习