因为操作系统实验要写 所以写了

银行家算法是一种避免死锁的方法

在避免死锁的方法中,允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则,令进程等待。
虽然并非所有的不安全状态都必然会转为死锁状态,但当系统进入不安全状态后,便有可能进而进入死锁状态;反之,只要系统处于安全状态,系统便可避免进入死锁状态。
因此,避免死锁的实质在于:系统在进行资源分配时,如何使系统不进入不安全状态。

银行家算法思想很简单

这个算法中, 主要是维护其中的

available向量

max矩阵

allocation矩阵

每一次分配, 都会轮询一遍可分配矩阵, 寻求可以分配的process, 如果没有可以分配的process, 则跳出循环进行是否进入死锁的判断.

具体维基百科讲的其实比我好

银行家算法代码好写

下面两张图一张是源码 一张是结果

其中数据来源于文件 可以方便自定义

具体可以见我的GitHub仓库

代码内容
代码内容
内容
内容