设Request i 是进程P i 的请求向量, Request i =K表示进程Pi需要K个j类资源。 Pi
发出资源请求后, 按下列步骤进行检查:
1. 如果request i [j]≤need[i, j], 转向步骤②;
否则报错, 所需要的资源数已超过它所宣布的最大值;
2. 如果request i [j]≤available[j], 转向步骤③;
否则报错, 尚无足够资源 Pi 需等待;
3. 尝试将资源分配给进程 Pi, 并修改下面数据结构中的数值:
available[j]: =available[j]-raquest i [j];
allocation[i, j]: =allocation[i, j]+raquest i [j];
need[i, j]: =need[i, j]-raquest i [j];
4. 执行安全性算法, 检查此次资源分配后, 系统是否出于安全状态。 若安全,
才正式将资源分配给进程 Pi, 已完成本次分配; 否则, 将本次试探分配作废,
恢复原来的资源分配状态, 让 Pi 等待。
2022-04-28 11:04:54
35KB
操作系统
1