[理工] 111交大OS

作者: ping990579 (小山青)   2023-01-11 17:44:22
https://imgur.com/ITObxwA
想問b選項
目前配置(2,3,4,x-4)
全部加起來要小於等於總資源量
x+5<=15
x<=10
x代10,所剩資源為0,無任何safe sequence
x代9,有safe sequence
所以x最大值為9
b選項的safe sequence無法滿足
不知道哪裡觀念有誤
作者: a068980980 (0.0)   2023-01-11 18:38:00
個人淺見,deadlock是指已無資源可配置但大家仍在未滿狀態,然後資源使用完畢後會釋出,因此b選項在分配資源進去執行完之後會回傳最大總資源量的資源供其他使用,因此按照0、1、2、3的走法不會有deadlock問題,另外小弟認為x head 應該為10,剩餘資源量為0應是能接受的。觀念有錯還請各位大大提點。
作者: nofucknolove (剌巴剌賽)   2023-01-11 18:52:00
x應該不能為10吧 要滿足至少一個Need[i]<=available若x=10,Need[]={3,1,5,4}全都>available=0
作者: ping990579 (小山青)   2023-01-11 19:02:00
感謝回覆,想請問x代10的話b選項的safe sequence 是怎麼做分配的嗎 因為available =0不是配不了嗎 還是說process自己有可能會放掉
作者: hensen523   2023-01-12 13:24:00
我覺得要先釐清一下,題目寫the third column showsresouces that thread is currently "holding"Currents Needs那欄用allocate去算我覺得答案BCD沒問題
作者: ping990579 (小山青)   2023-01-12 16:06:00
哦對欸 感覺被騙 一直以為那行是目前需要感覺如果是holding那用currently need也是蠻奇怪改成allocation應該比較好感謝h大

Links booklink

Contact Us: admin [ a t ] ucptt.com