实验内容:模拟进程的资源分配算法了解死锁的产生和避免的办法。实验目的:了解系统的资源分配情况保证进程的资源请求和系统不会出现死锁。实验题目:用银行家算法实现资源分配。#include iostreamusing namespace std;#define resNum 3 资源数#define proNum 5 进程数typedef struct pro int maxRequestresNum
数据结构:
- PRO:表示进程,包含以下成员变量:
- maxRequest[resNum]:数组,表示进程需要的最大资源数目。
- allocation[resNum]:数组,表示进程当前已分配的资源数目。
- need[resNum]:数组,表示进程还需要的资源数目。
- safeSeries:整型,表示进程在安全序列中的位置。
- Safe:布尔型,表示进程是否安全。
- available:数组,表示系统中现有的各类资源个数。
符号说明:
-
resNum:常量,表示系统中资源的种类数目。
-
proNum:常量,表示系统中进程的数目。
-
inti_process():函数,用于初始化进程信息。
-
showInformation():函数,用于显示系统信息。
-
SafeInformation():函数,用于显示安全信息。
-
isAllZero():函数,用于判断进程所需资源是否全为零。
-
isSafe():函数,用于判断系统是否安全。
-
request[]:数组,表示进程请求的资源量。
-
num:计数器,用于计数资源数量。
-
curPro:整型,表示输入的进程序号。
-
a:整型,用于输入数据时的变量。
-
main():主函数,用于实现银行家算法的资源分配
原文地址: https://www.cveoy.top/t/topic/fbKX 著作权归作者所有。请勿转载和采集!