- 16
- 0
- 约5.93千字
- 约 9页
- 2017-01-09 发布于重庆
- 举报
银行家算法的模拟实现实验报告
银行家算法的模拟实现题目:
实现银行家算法处理过程:
实验原理:
当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。
2. 安全状态:如果存在一个由系统中所有进程构成的安全序列P1,…,Pn,则系统处于安全状态。安全状态一定是没有死锁发生。
不安全状态:
安全序列:一个进程序列{P1,…,Pn}是安全的,如果对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j i )当前占有资源量之和。
3. 设requesti为进程p[i]的请求向量,如果requesti[j]=K,表示进程p[i]需要K个Rj资源。当系统发出请求后,系统按下述步骤开始检查:
1)如果requesti[j]=need[i][j],转向步骤2;否则报告出错,申请的资源已经大于它需要的最大值。
2)如果requesti[j]=available[j],转向步骤3;否则报告出错,尚无足够的资源。
3
原创力文档

文档评论(0)