目录
一、实验目的
二、实验内容
三、实验要点说明
数据结构
银行家算法bank()函数
安全性算法safe()函数
银行家算法实例
程序结构
四、实验代码
五、结果展示
一、实验目的通过编写一个模拟动态资源分配的银行家算法程序,进一步深入理解死锁、产生死锁的必要条件、安全状态等重要概念,并掌握避免死锁的具体实施方法。
二、实验内容 (1)模拟一个银行家算法: 设置数据结构 设计安全性算法(2) 初始化时让系统拥有一定的资源(3) 用键盘输入的方式申请资源(4)如果预分配后,系统处于安全状态,则修改系统的资源分配情况(5)如果预分配后,系统处于不安全状态,则提示不能满足请求 三、实验要点说明 数据结构 可利用资源向量 int Available[m] m为资源种类最大需求矩阵 int Max[n][m] n为进程的数量分配矩阵 int Allocation[n][m]还需资源矩阵 int need[i][j]=Max[i][j]- Allocation[i][j]申请资源数量 int Request [m] 工作向量 int Work[m] int Finish[n] 银行家算法bank()函数Requesti:进程Pi的请求向量。 0