看板 Grad-ProbAsk 關於我們 聯絡資訊
http://www.lib.nthu.edu.tw/library/department/ref/exam/eecs/cs/100/2202.pdf 想問 3.的d e d.選項感覺都似是而非耶 爬文看到有人寫I 可是Banker's algorithm應該沒有一定可以找到safe sequence吧? 還是題目意思是說檢查有沒有至少一個? 不是一定有的意思? e.不大知道怎麼下手耶 請問這種題目有甚麼解題方向嗎? 4.爬文有看到有人發問為甚麼不是x=2~10 答案好像是5~10 我也覺得2好像也是有可能發生 12.上面有一篇有問過了 但是看不大懂 題目好像只有給memory accesses的hit rate 怎麼知道cache的hit rate多少? 問題有點多 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.228.196 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1451089639.A.AC9.html
jerry031181: d.I是說檢查有無safe sequence感覺是裡面最適合選項 12/26 11:53
jerry031181: Deadlock free要滿足1. 1<=max<=資源總量 12/26 11:54
jerry031181: 2. Process數乘上所需資源量<process+資源總量 12/26 11:55
lemonsheep: 感謝!你之前好像有問12 請問有解嗎? 12/26 12:44
jerry031181: 我有貼阿~ 12/26 13:21
lemonsheep: 恩恩我再想想看好了 感謝你~ 12/26 17:19
a37805: 第四題 你可以舉例2怎麼樣情況會發生嗎? 5~10沒錯阿 12/27 00:39
a37805: 至少process自己和自己不會發生race condition阿 12/27 00:42
T0 register1 = x //x=0 register1 = 0 register2 = 0 T1 register1 = register1+1 //x=0 register1 = 1 register2 = 0, --------換processB執行----------------------------------------- T2 register2 = x //x=0 register1 = 1 register2 = 0 T3 register2 = register2+1 //x=0 register1 = 1 register2 = 1 T4 x = register2 //x=1 register1 = 1 register2 = 1 T5 register2 = x //x=1 register1 = 1 register2 = 1 T6 register2 = register2+1 //x=1 register1 = 1 register2 = 2 T7 x = register2 //x=2 register1 = 1 register2 = 2 T8 register2 = x //x=2 register1 = 1 register2 = 2 T9 register2 = register2+1 //x=2 register1 = 1 register2 = 3 T10 x = register2 //x=3 register1 = 1 register2 = 3 T11 register2 = x //x=3 register1 = 1 register2 = 3 T12 register2 = register2+1 //x=3 register1 = 1 register2 = 4 T13 x = register2 //x=4 register1 = 1 register2 = 4 ------------換processA執行---------------------------------- T14 x = register1 //x=1 register1 = 1 register2 = 4 ------------換processB執行---------------------------------- T15 register2 = x //x=1 register1 = 1 register2 = 1 T16 register2 = register2+1 //x=1 register1 = 1 register2 = 2 ------------換processA執行---------------------------------- T17 register1 = x //x=1 register1 = 1 register2 = 2 T18 register1 = register1+1 //x=1 register1 = 2 register2 = 2 T19 x = register1 //x=2 register1 = 2 register2 = 2 T20 register1 = x //x=2 register1 = 2 register2 = 2 T21 register1 = register1+1 //x=2 register1 = 3 register2 = 2 T22 x = register1 //x=3 register1 = 3 register2 = 2 T23 register1 = x //x=3 register1 = 3 register2 = 2 T24 register1 = register1+1 //x=3 register1 = 4 register2 = 2 T25 x = register1 //x=4 register1 = 4 register2 = 2 T26 register1 = x //x=4 register1 = 4 register2 = 2 T27 register1 = register1+1 //x=4 register1 = 5 register2 = 2 T28 x = register1 //x=5 register1 = 5 register2 = 2,processA結束 ------------換processB執行----------------------------------- T29 x = register2 //x=2 register1 = 5 register2 = 2,processB結束 大概是這樣想的 不知道是不是哪裡有甚麼盲點 感謝~ ※ 編輯: lemonsheep (140.120.228.196), 12/27/2015 09:18:22