看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《ceo890710 (Drinking)》之銘言: : 恐龍習題 : Consider a system implementing multilevel queue scheduling.What strategy : can a computer user employ to maximize the amount of CPU time allocated : to the user's process? : Ans : The program could maximize the CPU time allocated to it by not : fully utilizing its time quantums.It could use a large fraction of : its assigned quantum,but relinquish the CPU before the end of the : quantum,thereby increasing the priority associated with the process. : 我想問解答部分應該是說像feedback queue這種因為無法一次執行完工作 : 然後會提高優先權而移到其他queue裡面的這種情況吧? : 可是題目是說multilevel queue,可以在單一queue裡面提高優先權然後 : 在下一次工作給予較大的quantum嗎? 應該可以,這是變種的RR 恐龍的習題有(我是看電子檔解答的,我的書沒有= = 應該是國際版差別) 我買的補習班筆記也有補充到 你說的也就是在RR中加入priority的概念 有兩種辦法 1.將比較高priority的process插入比較多的PCB pointer 2.讓比較高priority的process擁有比較多的time quantum(例如給2個或更多) 但解答也沒詳細說怎麼使高priority的process獲得比較多的quantum 如果是再造一個queue如同MFQ的話...如同你的問題 (崩潰) 我想的到的解釋是 就當成他是某個queue裡面的子queue....= =" 把它當成單一queue的scheduling法則,而不是整體的queue 也就是他怎麼排都還是在此queue裡面,而沒移動到別的queue 很爛的解釋方法但我也只能想到這樣= = 另外我想趁機問一下這題 因為我的理解跟c大不同 我的想法是 題目問的是如何讓user's process獲得最多的CPU time 又multilevel queue最常見的模型是foreground(RR)跟background(FCFS) user's process應該是被置於前者 因此,他是與foreground queue的其他process競爭CPU使用權 而為了讓user's process獲得較多的cpu time 因此設計讓此process 只使用time quantum的一大部分 而在quantum結束前釋放cpu並結束此quantum 然後增加此process的priority.... 我不懂的是,為什麼這樣就會增加process的priority 如果是這樣,應該在此RR queue再加入priority的法則 process若同時滿足 1.並未完全使用全部quantum 2.且此process尚未執行完畢 則提升此process的priority 如此一來,此process的burst time若 >= 一個quantum 則由於他的priority提高 使用最前面說的兩種方式,就可以提升user's process分配到的cpu time (也許是被run比較多次 by increase PCB pointers 或下次再run時被分配到的time quantum為2個或更多) 這是我的想法,但恐龍提到的只有前面,也就是不完全使用quantum即跳出的部分 但是沒有後面這些...即使跳出,也還是到queue的tail 就算是一直有process進到queue中 假使有很多是在他提早跳出到正常跳出之間進來的 那的確會比正常跳出更快分配到下次的cpu time 但也沒提到阿..... 而且照我這樣理解的話,這題跟multilevel也沒啥關係 直接問RR的狀態下不就好了= = 不曉得是我搞錯題意,還是有什麼盲點或其他問題 感謝高手解答 感激萬分...想好久還是想不通 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.250.59 ※ 編輯: genius945 來自: 114.27.250.59 (10/16 02:09)