银行家算法
给进程分配资源,是系统处于安全状态;当进程向系统申请资源时,系统要预判分配资源后是否还存在安全状态,如果存在则分配,否则不分配。先看效果再附源码(源码、经验交流QQ群:613879714),有问题QQ群提问,这里不能及时回复
演示
银行家算法-C语言
运行结果
源代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 10
struct POC{
char JobName;//进程名
int Allocation[3];//已拥有资源数
int Need[3];//还需求资源数
int Pass;//是否已经过 1是 0否
}job[N]={
{
'A', 0,1,0, 7,4,3 ,0},//3:7 5 3
{
'B', 2,0,0, 1,2,2 ,0},//1:5 3 2
{
'C', 3,0,2, 6,0,0 ,0},//4:10 5 5
{
'D', 2,1,1, 0,1,1 ,0},//2:7 4 3
{
'E', 0,0,1, 4,3,1 ,0} //5:10 5 6
};//3 3 2
int Number=5,SafetySequenceNumber;
int Available[3]={
3,3,2};
//1.1安全序列
void SafetySequence(char c[N],int k){
int j;
for(j=0;j<Number;j++){
if(Available[0]>=job[j].Need[0