日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

银行家算法解析

發布時間:2024/1/1 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 银行家算法解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先說一下銀行家的算法:
設進程cusneed提出請求REQUEST [i],則銀行家算法按如下規則進行判斷。
(1)如果REQUEST [cusneed] [i]<= NEED[cusneed][i],則轉(2);否則,出錯。
(2)如果REQUEST [cusneed] [i]<= AVAILABLE[i],則轉(3);否則,等待。
(3)系統試探分配資源,修改相關數據:
AVAILABLE[i]-=REQUEST[cusneed][i];
ALLOCATION[cusneed][i]+=REQUEST[cusneed][i];
NEED[cusneed][i]-=REQUEST[cusneed][i];

(4)系統執行安全性檢查,如安全,則分配成立;否則試探險性分配作廢,系統恢復原狀,進程等待。

題目中的計算過程:
先算出每個進程還需要多少進程才能滿足,即Request的值 = Need - Allocation
進程名 Allocation Need Request Available
ABC ABC ABC ABC
P1 4 0 5 4 0 11 0 0 6 2 3 3
P2 4 0 2 5 3 6 1 2 4
P3 2 1 4 4 2 5 2 1 1
P4 2 1 2 5 5 9 3 4 7
P5 3 1 3 4 2 4 1 1 1
第一題A項p3 p1 p4 p2 p5
先分配給P3,其Request(2,1,1) < available(2,2,3) 滿足,分配資源等待P3完成,P3進程完成之后,Available = (2,1,4) + (2,3,3) = (4,4,7)
然后分配給p1,其Request(0,0,6) < available(4,4,7),可以滿足資源,分配資源給P1,P1完成任務釋放資源Available = (4,0,5) +(4,4,7) = (8,4,12)
接著P4,request(3 4 7) < available(8,4,12),可以滿足資源,分配資源給P4,P4完成任務釋放資源Available = (2,1,2) +(8,4,12) = (10,5,14)
接著p2,request(1 2 4) < available(10,5,14)可以滿足資源,分配資源給P4,P4完成任務釋放資源Available = (4,0,2)+ (10,5,14) = (14,5,16)
最后P5,request(1 1 1) < available(14,5,16)可以滿足資源,分配資源給P4,P4完成任務,資源全部釋放,變為(3 1 3 )+ (14,5,16) = (17,6,19)
所以A是安全序列。
同理分析B p1 p3 p5 p2 p4,先分配給P1的話Request(0,0,6) > available(2,3,3),C資源不滿足,所以該序列不安全。
分析C項p4 p2 p3 p5 p1,先分配給p4, Request(3,4,7) > available(2,3,3),ABC資源都不滿足,該序列不安全。
分析D項p2 p3 p1 p4 p5,先分配給P2,Request(1,2,4) > available(2,3,3),C資源不滿足,所以該序列不安全。
第二題,分析方法跟上面的一樣,只是比較費時。如果單選的話,看一下答案,D項,先分配給P4,顯然完成P4還需( 3 4 7) ,其大于 available,所D項不安全

總結

以上是生活随笔為你收集整理的银行家算法解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。