推 bernachom:我回想起來了...好像是這麼一回事..謝謝^^ 06/10 21:42
因恐龍七版已將錯誤的兩個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