避免死锁:银行家算法代码解析

原题:实验四  文件系统-代码阅读并调试实验

1.阅读下面源代码,写出程序功能。

2.阅读代码,分析代码中算法并说明。

3.调试并运行代码,写出结果。

答题内容略,本文仅逐段解析实验代码,以及在文章最后附上算法流程图。

头文件和自定义变量,特别强调,本程序只支持资源种类数为3种以下的情况。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int Available[10];    //可使用资源向量
int Max[10][10];    //最大需求矩阵
int Allocation[10][10] = { 0 };    //分配矩阵
int Need[10][10] = { 0 };    //需求矩阵
int Work[10];    //工作向量
int Finish[10];    //是否有足够的资源分配,状态标志
int Request[10][10];    //进程申请资源向量
int Pause[10];
int arr[4] = { 0 };    //各类资源总数
int List[10];
int i, j;
int n;    //系统资源总数
int m;    //总的进程数
int a;    //当前申请的进程号
int l, e;    //计数器
int b = 0, c = 0, f =

猜你喜欢

转载自blog.csdn.net/qq_44643644/article/details/107110460