操作系统第2部分_进程死锁及经典问题3__0409预案.ppt

操作系统第2部分_进程死锁及经典问题3__0409预案.ppt

安全性算法 (1)设置两个工作向量 设置一个数组Finish[n]。当Finish[i]=True(0 ≤ i ≤ n,n为系统中的进程数)时,表示进程Pi可以获得其所需的全部资源,而顺利执行完成。 设置一个临时向量Work,表示系统可提供给进程继续运行的资源的集合。安全性算法刚开始执行时,Work := Available 安全性算法 (2)从进程集合中找到一个满足下列条件的进程: Finish[i] = false; 并且 Need ≤ Work; 若找到满足该条件的进程,则执行步骤(3),否则执行步骤(4); (3) 当进程Pi获得资源后,将顺利执行直至完成,并释放其所拥有的全部资源,故应执行以下操作: Work := Work + Allocatoioni; 以及 Finish[i] := True;转向步骤(2); 安全性算法 (4) 如果所有进程的Finish[i] = True,则表示系统处于安全状态, 否则系统处于不安全状态。 举例 T0时刻的资源分配情况 假定系统中有四个进程P1,P2,P3,P4和三种类型的资源R1,R2,R3,每一种资源的数量分别为9、3、6,T0时刻的资源分配情况如表2.4所示: 进 程 资 源 Max Allocation ? Need Available R1 R2 R3 R1 R2 R3

文档评论(0)

1亿VIP精品文档

相关文档