操作系统课程设计银行家算法(5)
时间:2026-01-16
时间:2026-01-16
银行家算法,可运行的,完整的论文
} scanf("%d",&choice); switch(choice) { case 1: bankerAlgorithm(); break; case 2: showdata(); break; default: break; } }while((choice==1)||(choice==2));
其中用到的函数操作有三个
showdata();//显示资源矩阵 safeAlgorithm();//安全性检测算法
bankerAlgorithm();//利用银行家算法对申请资源对进行判定
3、安全性检查
程序中安全性算法的描述如下:
(1) 设置如下两个工作向量:
Work:表示系统可提供给进程继续运行的各类资源的空闲资源数目,它含有m个元素,执行安全性算法开始时,Work=Available。
Finish:表示系统是否有足够的资源分配给进程,使之运行完成。开始时,Finish[i]=false;当有足够的资源分配给进程Pi时,令Finish[i]=true。
(2) 从进程集合中找到一个能满足下列条件的进程:
Finish[i]==false;
Need i<= Work;,
如果找到了就执行步骤(3),否则执行步骤(4)。
(3) 当进程Pi获得资源后,可执行直到完成,并释放出分配给它的资源,故应执行
Work = Work + Allocation;
Finish[i]=false;
然后转向第(2)步骤。
(4) 若所有进程中的Finish[i]都是true,则表示系统处于安全状态;否
上一篇:现代文阅读、古诗文鉴赏教案
下一篇:最新人文地理知识总结电子教案