操作系统死锁问题及银行家算法

一.死锁

1.死锁产生的原因:系统资源分配不当

2.死锁产生的必要条件:

①互斥

②不可剥夺

③部分分配

④环路等待

当前系统中所有进程能够执行完毕的一种执行顺 序,表示为,称之为安全序列

3.银行家算法

例 设系统中有3种类型的资源(A、B、C)和5个进程 P1,P2,P3,P4,P5。已知A,B,C的最多资源个数为 [17,5,20],在T0时刻的状态如下表

(1)T0时刻是否为安全状态?若是则 给出安全序列 ?

安全序列可为:

 (2)T0时刻若P2请求[0,1,4]能 否实施分配?为什么?

 (3)在T0时刻P4请求[2,0,1]能否 实施分配?为什么?

 

 (4)在T0时刻P4请求[2,0,1]之后,P1又 请求[0,2,0]能否实施分配?为什么?

P1剩余最大需求为[3,4,7]超过了系统目前剩余资 源[0,3,2],为了使系统处于安全状态,系统不会为 P1分配资源

避免死锁的实质在于如何使系统不 进入不安全状态


版权声明:本文为m0_64600894原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。