银行家算法C++实现

时间:2016-05-10 13:28:24
【文件属性】:

文件名称:银行家算法C++实现

文件大小:5KB

文件格式:CPP

更新时间:2016-05-10 13:28:24

银行家算法 死锁避免 C++ 有注释 简单易懂

银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但是银行家算法统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。 1)可利用资源向量Available 是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果Available[j]=K,则表示系统中现有Rj类资源K个。 2)最大需求矩阵Max 这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。 3)分配矩阵Allocation 这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的 数目为K。 4)需求矩阵Need。 这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。 Need[i,j]=Max[i,j]-Allocation[i,j]


网友评论

  • 不错 能够看懂
  • nice,就是想要输出这样的表格形式
  • 不错可以看懂
  • 不错啊可以用的
  • 不错可以看懂
  • 不错可以看懂
  • 不错,新手飘过。。。。。可以看懂