看板 Grad-ProbAsk 關於我們 聯絡資訊
因恐龍七版已將錯誤的兩個algorithms拿掉。 就小弟剛剛查Modern Operating systems 3/e的結果。 書上是說。當i與j皆想進cs,此時turn值是i,i先進cs接著出cs將turn值改成j, 此時Process i在Remainder section, 而process j在授權後,進入cs並很快完成task,將turn值改成i,並回到R.S. 此時j又想要進cs了,但是i正在R.S.並沒有想進c.s.的意願。 此時process i 就被擋在該While loop外了。 若有不清楚的話,請告知。小弟會將原文附上。 ※ 引述《bernachom (Terry)》之銘言: : 請教一下 : 這是一個錯的演算法 ,沒有滿足progress : repeat: : . : . : . : while(turn<>i) do no-op; : C.S : turn=j; : R.S : until false : 請教一下,沒滿足progress的原因是 : 假設pi不想進入c.s,而且此時turn值為i,則pj想進入c.s會無法進入 : 我不太明白的是,為什麼turn值為i,pi卻又可以進入R.S : pi是怎麼進去的呢? : 當turn值為i的時後,不是一定會到while嗎? : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.12.2
bernachom:我回想起來了...好像是這麼一回事..謝謝^^ 06/10 21:42