《银行家算法例子讲解.doc》由会员分享,可在线阅读,更多相关《银行家算法例子讲解.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date银行家算法例子讲解银行家算法例子讲解P115练习讲解T22在银行家算法中,若出现下述资源分配情况:ProcessAllocationNeedAvailableP00 0 3 20 0 1 21 6 2 2P11 0 0 01 7 5 0P21 3 5 42 3 5 6P30 3 3 20 6 5 2P40 0 1 40 6 5 6试问:1)该状态是不是安全?2)若进程
2、P2提出请求Request(0,2,1,0)后,系统能否将资源分配给它?不安全、否安全、否解答:1)寻找安全序列过程:ProcessWorkAllocationNeedWork +Allocation FinishP01 6 2 20 0 3 20 0 1 21 6 5 4P31 6 5 40 3 3 20 6 5 21 9 8 6P11 9 8 61 0 0 01 7 5 02 9 8 6P22 9 8 61 3 5 42 3 5 63 12 13 10P43 12 13 100 0 1 40 6 5 63 12 14 14有安全序列P0、P3、P1、P2、P4,所以是安全的。2)若进程P2
3、提出请求Request(0,2,1,0),假定可分配,修改Available,Allocation2,Need2,所得资源分配情况如下:ProcessAllocationNeedAvailableP00 0 3 20 0 1 21 4 1 2P11 0 0 01 7 5 0P21 5 6 42 1 4 6P30 3 3 20 6 5 2P40 0 1 40 6 5 6寻找安全序列过程:ProcessWorkAllocationNeedWork +Allocation FinishP01 4 1 20 0 3 20 0 1 21 4 4 4P11 7 5 0P22 1 4 6P30 6 5 2P
4、40 6 5 6没有安全序列,所以不可以分配。练习:在银行家算法中,若出现下述资源分配情况:ProcessAllocationNeedAvailableP00 0 3 20 0 1 21 6 2 2P11 0 0 01 7 5 0P21 3 5 42 3 5 6P30 3 3 20 6 3 2P40 0 1 40 6 5 6试问:1)该状态是不是安全?2)若进程P2提出请求Request(0,0,1,0)后,系统能否将资源分配给它?不安全、否安全、否解答:1)寻找安全序列过程:ProcessWorkAllocationNeedWork +Allocation FinishP01 6 2 20
5、0 3 20 0 1 21 6 5 4P31 6 5 40 3 3 20 6 3 21 9 8 6P11 9 8 61 0 0 01 7 5 02 9 8 6P22 9 8 61 3 5 42 3 5 63 12 13 10P43 12 13 100 0 1 40 6 5 63 12 14 14有安全序列P0、P3、P1、P2、P4,所以是安全的。2)若进程P2提出请求Request(0,0,1,0),假定可分配,修改Available,Allocation2,Need2,所得资源分配情况如下:ProcessAllocationNeedAvailableP00 0 3 20 0 1 21 6
6、1 2P11 0 0 01 7 5 0P21 3 6 42 3 4 6P30 3 3 20 6 3 2P40 0 1 40 6 5 6寻找安全序列过程:ProcessWorkAllocationNeedWork +Allocation FinishP01 6 1 20 0 3 20 0 1 21 6 4 4P31 6 4 40 3 3 20 6 3 21 9 8 6P11 9 8 61 0 0 01 7 5 02 9 8 6P22 9 8 61 3 6 42 3 5 63 12 14 10P43 12 14 100 0 1 40 6 5 63 12 14 14有安全序列P0、P3、P1、P2、P4,所以是安全的,可以分配。-