作者nickboy0211 (Silly Boy)
看板Grad-ProbAsk
标题Re: [理工] OS-同步行程一些问题
时间Wed Jun 10 21:35:44 2009
因恐龙七版已将错误的两个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
1F:推 bernachom:我回想起来了...好像是这麽一回事..谢谢^^ 06/10 21:42