Re: [理工] Deadlock 判斷公式觀念
※ 引述《showyoulovex (NONO)》之銘言:
: 這個章節有個重要公式
: 來判斷是否有deadlock
: 拿90交大 系程舉例
: 題目(已縮圖):http://ppt.cc/vVzu
: 答案是
: 3n<m+n
: 2n<11
: n<6 , ans:n=5
: 其中公式左邊 3n還蠻直觀的我懂
: 但右邊就不太懂 為何是 程式個數(n)+資源總數(m)
: 有人可以解釋一下想法嗎?
: 在圖書館想很久....不想用背的 怕考試會搞混
: 感謝~
條件一: 1 < = Max <= m
條件二: Max! < n+m
假設資源全部配置給process
即各process的allocation的總和為m
依banker's Algo
need = max - allocation
(以下以!表示總和...sigma不會打= =)
=> max! = need! + allocation!
=> max! = need! + m
若max! < n+m
=> need!+m < n+m
=> need! < n
也就是說,起碼有>=1的process的need為0
又由條件一
故此process執行完後必可釋放出>=1的resource
而再將此釋放出的resource分配至allcation
(need!-1) < n-1
於是剩下的這些process必有>=1個的need為0
依此類推
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.244.120
→
10/27 14:04, , 1F
10/27 14:04, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):