假设某系统有同类资源12个,有3个进程P1、P2、P3来共享,已知P1、P2、P3所需资源总数是8,6,9,他们申请资源的次序如下表:系统采用银行家算法为他们分配资源。
(1)哪次申请分配会使系统进入不安全状态?
(2)执行完序号为6的申请后,各进程的状态和各进程已占有的资源数。
(1)执行完前3次申请后,尚有2个资源空闲,若第4次P1再申请1个资源,则还有1个资源空闲,这个资源无论分给那个进程都会使系统进入不安全状态。若不执行第4次而执行第5次申请,则没有空闲资源,系统也会进入不安全状态。
(2)执行完前3次申请后,再执行完序号为6的申请,则进程P1资源数为4,P2资源数为6,P3资源数为2,这样,P2有足够的资源而完成,可释放6个资源;于是可用资源增至6个;以后可将4个资源分配给进程P1,使之运行,待P1完成后,将释放8个资源,P3便能获得足够的资源,从而使P1、P2、P3每个进程都能顺利完成。