[理工] [OS] 95成大資工

看板Grad-ProbAsk作者 (頂方)時間14年前 (2012/02/24 10:49), 編輯推噓3(3019)
留言22則, 3人參與, 最新討論串1/1
http://ppt.cc/o9Rf 題目如上,OS的最後一題 想了很久 只擠出了一點點想法 my_turn(Who[ Order[i]+1 ])=true 不過感覺不太對QQ 不知道有沒有人能夠解救一下^^" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.162.88

02/24 16:29, , 1F
這題很難 .. 程式碼一定不只5行
02/24 16:29, 1F

02/24 16:30, , 2F
你大概要拚斷 first-count second-count來wait( delay)
02/24 16:30, 2F

02/24 16:31, , 3F
你可以這樣想 如果一個process先進入的second的地方
02/24 16:31, 3F

02/24 16:31, , 4F
讓之後的prcoess都以為在second delay有工作
02/24 16:31, 4F

02/24 16:32, , 5F
所以 它們會瘋狂的增加signal(second-delay)
02/24 16:32, 5F

02/24 16:33, , 6F
0.0.... 等等 我想一下
02/24 16:33, 6F

02/24 16:40, , 7F
if(first-count >0 ) signal(first-delay);
02/24 16:40, 7F

02/24 16:41, , 8F
else if(second-count > 0) signal(second-delay);
02/24 16:41, 8F

02/24 16:42, , 9F
else siganl(mutex);
02/24 16:42, 9F

02/24 16:42, , 10F
這三行就夠了
02/24 16:42, 10F

02/24 16:42, , 11F
有問題再推文問我 你用上去 追蹤看看就知到了
02/24 16:42, 11F

02/24 19:54, , 12F
恩恩~樓上應該是對的!!謝謝^^
02/24 19:54, 12F

02/24 20:07, , 13F
不過感覺上 是不是應該先檢查second-count讓卡在
02/24 20:07, 13F

02/24 20:08, , 14F
second-delay的process先過@@?
02/24 20:08, 14F

02/24 20:14, , 15F
其實沒差 因為你讓第一個過 到了deconf-delay
02/24 20:14, 15F

02/24 20:15, , 16F
等等= =. 好吧 先讓decond-count過吧
02/24 20:15, 16F

02/24 20:16, , 17F
second-delay先判斷好. 可以減少判斷次數
02/24 20:16, 17F

02/24 20:17, , 18F
其實是沒差的 因為到了第2個delay 在first-count = 0
02/24 20:17, 18F

02/24 20:17, , 19F
他一樣會signal(second-delay)
02/24 20:17, 19F

02/24 20:18, , 20F
先讓第2個過的效率 大概比第一個過的效率好
02/24 20:18, 20F

02/24 21:20, , 21F
恩恩 還是感謝 K大真是強大!
02/24 21:20, 21F

09/11 14:58, , 22F
if(first-co https://daxiv.com
09/11 14:58, 22F
文章代碼(AID): #1FHlhMJC (Grad-ProbAsk)