(操作系统)银行家算法

最有效的避免死锁的算法就是银行家算法。

系统处于不安全状态未必死锁,但是死锁时一定处于不安全状态。系统处于安全状态一定不会死锁。

进程

最大需求

Max

已分配

Allocation

最多还需要

Need

0,0,4

0,0,3

0,0,1

1,7,5

1,0,0

0,7,5

2,3,5

1,3,5

1,0,0

0,6,4

0,0,2

0,6,2

0,6,5

0,0,1

0,6,4

(1)(1,4,0)

用(1,4,0)和每一个进程最多还需要的值进行比较, <(1,4,0)
所以资源剩余为(1,4,0)+(1,3,5)=(2,7,5)
用(2,7,5)进行比较, <(2,7,5)
所以当x,y,z取(1,4,0)时,系统处于安全状态

安全状态

(2)(0,6,2)

用(0,6,2)和每一个进程最多还需要的值进行比较, <(0,6,2)
所以资源剩余为(0,6,2)+(0,0,3)+(0,0,2)=(0,6,7)
用(0,6,7)进行比较, <(0,6,7)
所以资源剩余为(0,6,7)+(0,0,1)=(0,6,8)
用(0,6,8)进行比较, 都>(0,6,8),资源分配不均匀,发生死锁
所以当x,y,z取(0,6,2)时,系统处于不安全状态

不安全状态

(3)(1,1,1)

用(1,1,1)和每一个进程最多还需要的值进行比较, <(1,1,1)
所以资源剩余为(1,1,1)+(0,0,3)+(1,3,5)=(2,4,9)
用(2,4,9)进行比较, 都>(2,4,9),资源分配不均匀,发生死锁
所以当x,y,z取(1,1,1)时,系统处于不安全状态

不安全状态

(4)(0,4,7)

用(0,4,7)和每一个进程最多还需要的值进行比较, <(0,4,7)
所以资源剩余为(0,4,7)+(0,0,3)=(0,4,10)
用(0,4,10)进行比较, 都>(0,4,10),资源分配不均匀,发生死锁
所以当x,y,z取(0,4,7)时,系统处于不安全状态

不安全状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值