银行家算法
来源:互联网 发布:单片机齿轮测速例程 编辑:程序博客网 时间:2024/05/18 19:46
1、 设置数据结构
包括可利用资源向量(Availiable),最大需求矩阵(Max),分配矩阵(Allocation),需求矩阵(Need)
2、 设计安全性算法
设置工作向量Work 表示系统可提供进程继续运行可利用资源数目,Finish 表示系统是否有足够的资源分配给进程
(三) 实验环境
1、 pc
2、 vc++
(四)、程序部分源代码:
注意:提供的代码仅供参考,可能会影响大家的思路,可以不采用。
/*子函数声明*/
intIsprocessallover(); //判断系统中的进程是否全部运行完毕
voidSystemstatus(); //显示当前系统中的资源及进程情况
intBanker(int ,int *); //银行家算法
voidAllow(int ,int *); //若进程申请不导致死锁,用此函数分配资源
voidForbidenseason(int ); //若发生死锁,则显示原因
/*全局变量*/
intAvailiable[3]={3,3,2}; //当前状态,系统可用资源量
intMax[5][3]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}}; //各进程对各资源的最大需求量
intAllocation[5][3]={{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}}; //初始状态,各进程占有资源量
intNeed[5][3]={{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}}; //初始状态时,各进程运行完毕,还需要的资源量
int over[5]={0,0,0,0,0}; //标记对应进程是否得到所有资源并运行完毕
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- Eclipse插件:
- 《手把手教你移植InfoNES(到HANKER-LM4F232)》
- PHP处理密码的几种方式
- inline-block基线对布局的影响&vertical-align&vertical-align等应用
- Spring IOC BeanFactory(译)
- 银行家算法
- WU谜题
- 201312-2-ISBN号码
- WordPress一周学习笔记
- day01无人机理论
- Linux安装JDK和配置环境变量&&tomcat安装
- LRU算法模拟
- 优先队列基本用法
- 【JZOJ 1709】【SDOI2008】仪仗队