[理工] OS monitor之3台Printer的演算法

看板Grad-ProbAsk作者 (傑森)時間13年前 (2012/12/13 14:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
目的:3 部列表機被 n 個 process 共享,設計 monitor 去支配三部列表機依照 process 之 priority number(值越大優先權值越高) 宣告..... request演算法中: void request printer(int proc_number) { if (num avail > 0) { num avail--; return; } waiting[num_waiting] = proc_number; num_waiting++; sort(waiting); while (num avail == 0 || waiting[0] != proc_number) do c.wait(proc_number); waiting[0] = waiting[num_waiting-1]; num_waiting--; sort(waiting); num_avail--; } 從waiting[num_waiting]之後我就看不懂了= =有人可以解釋一下嗎,感恩! PS.跟洪逸教得不太一樣,好像是原文書的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.82.34 ※ 編輯: jas1123kimo 來自: 140.120.82.34 (12/13 14:03)
文章代碼(AID): #1GoMzK7A (Grad-ProbAsk)
文章代碼(AID): #1GoMzK7A (Grad-ProbAsk)