1、需求分析
说明程序设计的任务和目的,明确规定下述内容:
(1) 输入的形式和输入值的范围;
#define MaxNum 20
static int n;//行,进程数
static int m;//列,资源数
static char ID[MaxNum];//进程程名
static int Max[MaxNum][MaxNum];//进程所需所有资源
static int Allocation[MaxNum][MaxNum];//进程已分配资源
static int Need[MaxNum][MaxNum];//进程还需要资源
static int Available[MaxNum];系统可分配资源
static int Request[MaxNum];//指定执行进程所需资源
static int SafeOrder[MaxNum];//安全执行顺序
(2) 输出的形式;
precessName |
Max |
Allocation |
Need |
Available |
|
A B C |
A B C |
A B C |
A B C |
P0 |
|
0 1 0 |
7 4 3 |
3 3 2 |
(3) 程序所能达到的功能;
输入进程已分配资源(Allocation)、仍需资源(Need)、系统可分配资源(Available),计算出进程所需最大资源(Max),当前状态是否安全,若安全输出安全序列,可指定优先分配给某进程资源并执行,判断输入是否符合要求,若如何要求则判断执行后状态是否安全,若安全则输出安全序列。
(4) 测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。
|
Max |