function IsSafe(): // 1. 初始化 Work = Available Finish[n] = {false}
// 2. 循环查找可完成的进程 LOOP: found = false for i from 0 to n-1: if (Finish[i] == false AND Need[i] <= Work): // 3. 找到,模拟其执行并释放资源 Work = Work + Allocation[i] Finish[i] = true found = true GOTO LOOP // 4. 检查结果 if (ALL(Finish) == true): return TRUE // 安全 else: return FALSE // 不安全