Dijkstra银行家算法.docVIP

  • 18
  • 0
  • 约1.34千字
  • 约 2页
  • 2016-07-04 发布于安徽
  • 举报
Dijkstra银行家算法.doc

Dijkstra银行家算法 系统当前有n个并发进程P1、P2、… 、Pn,有m类资源R1、R2、… 、Rm。 数据结构定义: (1)当前可用资源向量Available[m]:Available[j]表示当前资源Rj的用于分配的数量; (2)最大需求矩阵Max:一个n×m的矩阵,Max[i,j]表示进程Pi需要的资源Rj的最大数目; (3)已分配矩阵Allocation:一个n×m的矩阵,Allocation [i,j]表示进程Pi已分配得到资源Rj的数量; (4)需求矩阵Need:一个n×m的矩阵,Need [i,j]表示进程Pi将来运行过程还需要资源Rj的数量; 满足:Need [i,j]= Max[i,j] - Allocation [i,j] 输入:进程Pi提出新的资源申请:向量Request[m]表示它要申请的各资源的数量。 算法过程: (1)如果Request[]>Need[i]:出错报告,因为它所申请的资源超过它的需求量; (2)如果Request[]>Available[]:进程Pi进入等待状态,因为系统当前可用的资源不能满足这次的申请即缺乏资源; (3)预分配:假定按Request[]的需求把资源分配给进程Pi。即 Available[]=Available[] - Request[], Allocation [i]= Allocation [i]

文档评论(0)

1亿VIP精品文档

相关文档