當前位置:編程學習大全網 - 行動軟體 - 銀行家算法得出的安全序列有順序嗎?如{ p3,p0,p4 ,p2, p1}和{ p3,p0,p4 ,p1, p2}是壹樣的嗎?

銀行家算法得出的安全序列有順序嗎?如{ p3,p0,p4 ,p2, p1}和{ p3,p0,p4 ,p1, p2}是壹樣的嗎?

不壹樣

銀行家算法假定前提如下:

p0 ~ p 4 各掌握有銀行家的若幹資源,但要求完成他們的目標,分別還需要請求若幹資源。

現在,銀行家已經付出很多資源,手裏資源不多。而pX 們另外需求的資源也是大小不壹的。

而壹旦銀行家所有資源支出後,pX中仍然沒有誰完成任務,這就死鎖了(每個進程都把握壹部分資源,並還在要資源,而資源已經木有了)

==========================

現在,算法得出這樣壹條順序,先優先供應p3,等p3完成他的線程後,p3會釋放所占有的資源。銀行家(系統)利用p3所有的資源和自己手裏剩余的資源按順序供應p0,p4 等等。

現在假定 供應完 p4後,銀行家手中握有資源 10單位

p1 總***需要20單位才能完成他的進程,而p1手中現有5單元

p2 總***需要10單位才能完成他的進程,而p2手中已經有了8單元了

請問,系統應該先供應哪個線程?

答案必然是先p2再p1

因為使用2資源供應完p2(10單位才能完成,已有8單位,還要2單位),p2完成任務後,釋放所有資源,系統累計資源才有 10 - 2 + 10 = 18 單位的資源 ,才能滿足p1 的 15( = 20 -5 )單位資源的請求。

而若反之, 所有資源投入p1 , p1 完成進度 15 / 20 p2 完成進度 8 / 10 這就徹底死了

所以 xxxxx p2 p1 能活, xxxxx p1 p2 會死

特別說明的是,銀行家算法可以得到不止壹條安全順序。能被銀行家證明可行的算法都是死不了的算法

  • 上一篇:如今必不可少的背景墻,應該如何選擇呢?
  • 下一篇:四創電子的公司歷程
  • copyright 2024編程學習大全網