计算机操作系统:在要银家算法中,若出现下述资源分配情况,试问: Process Allocation Need Available Po 0032 0012 1622 P 1000 1750 P. 1354 2356 P: 0332 0652 P. 0014 0656 (1)该状态是否安全?
时间: 2023-12-06 21:40:43 浏览: 163
操作系统 银行家算法
3星 · 编辑精心推荐
要判断该状态是否安全,可以使用银行家算法。
首先,计算出每个进程还需要的资源量:
Process Allocation Need Available
P 0032 0012 1622
P 1000 1750
P 1354 2356
P 0332 0652
然后,计算出每个进程能否完成自己的任务。从可用资源开始,寻找一个进程能够满足其资源需求的进程,将其所需的资源分配给该进程,再将该进程释放的资源加入可用资源中。如果所有进程都能完成任务,那么该状态就是安全的。
下面是一步步地计算过程:
1. 可用资源为:1622 0012 0656
2. P1 需要 32 12,可用资源为 1590 0000 0656,因此分配资源给 P1,P1 完成任务后释放 32 12,可用资源为 1622 0012 0668。
3. P4 需要 14 656,可用资源为 1608 0000 0012,无法分配资源给 P4,因为没有任何一个进程释放了 656 的资源。
4. P3 需要 332 652,可用资源为 1276 0012 0668,因此分配资源给 P3,P3 完成任务后释放 332 652,可用资源为 1608 0664 1316。
5. P2 需要 1000 1750,可用资源为 608 0664 1316,无法分配资源给 P2,因为没有任何一个进程释放了 1000 的资源。
由于无法分配资源给 P2 和 P4,该状态不安全。
阅读全文