死锁及银行家算法介绍

来源:互联网 发布:淘宝网有电子吹管吗? 编辑:程序博客网 时间:2024/05/19 23:01

死锁及银行家算法介绍

1、死锁的四个必要条件:

a)      mutual exclusion

b)      hold and wait

c)      preemption

d)      circular wait

2、避免:circular wait

a)      Prioritise the accounts byusing their numeric order

b)      Always grab the higher orderbefore the lower one

3、Deadlock avoidance

Deadlock prevention is to ensure that deadlocks never occur.Deadlock avoidance is attempting

to ensure that resources are never allocated in a way that mightcause deadlock.

 

4、算法思想:操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。

5、假定进程控制块PCB其中“状态”有就绪态、等待态和完成态。当进程在处于等待态时,表示系统不能满足该进程当前的资源申请。“资源需求总量”表示进程在整个执行过程中总共要申请的资源量。显然,,每个进程的资源需求总量不能超过系统拥有的资源总数, 银行算法进行资源分配可以避免死锁.

 

0 0
原创粉丝点击