目录
1 实验名称
死锁的避免
2 实验目的
通过使用银行家算法实现系统资源的分配和安全性检查模拟,深刻理解操作系统的死锁避免算法。
3 实验内容
C语言完成“银行家算法”,记录程序运行结果,完成实验报告。要求:
1)设计五个进程{P0,P1,P2,P3,P4}共享三类资源{A,B,C}的系统,{A,B,C}的资源总数量分别为10,5,7。
2)并发进程可动态地申请资源和释放资源(程序交互输入申请或释放资源数量),系统按各进程的申请动态地分配资源。
3)每当进程动态申请资源或释放资源时,模拟程序应能及时输出各个进程在此时刻的资源分配表、系统可用资源量和安全序列等资源分配信息和安全检查信息。
4 实验原理及流程图
银行家算法:进程可动态的申请和释放资源,系统按照各进程的申请动态地分配资源,在T0时刻的资源分配情况如下表:
1 |
Name |
Max |
Allocation |
Need |
Available |
2 |
P0 |
7,5,3 |
0,1,0 |
7,4,3 |
3,3,2 |
3 |
P1 |