看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《SiriusCloud (古月小楓)》之銘言: : 標題: Re: [理工] [OS] scheduling : 時間: Sat Oct 15 01:10:22 2011 : : ※ 引述《ceo890710 (Drinking)》之銘言: : : 恐龍的習題 : : Consider a system running ten IO-bound tasks and one CPU-bound task. : : Assume that the I/O-bound tasks issue an I/O operation once for every : : millisecond of CPU computing and that each I/O operation tasks 10 : : milliseconds to complete.Also assume that the context-switching overhead : : is 0.1 millisecond and that all processes are long-running tasks. Describe : : the CPU utilization for a round-robin scheduler when: : : a. The time quantum is 1 millisecond : : b. .. .. .. .. 10 millisecond : : 不太懂這題的意思 請問怎麼算.. : : : a. 假設原本做完是100% utilization : 現在花了0.1 ms 去做context switching : 因為 time quantum 是 1 ms : 所以 CPU utilization 是--------> 1 / (1 + 0.1) = 91 % : : b. 現在 time quantum 變成 10 ms : I/O bound 最多 花 1ms : 每 1 ms 發生一次 context switching : 加上 I/O 完成 要花 10 ms 又會再發生一次 context switching : 因此 這邊我認為是I/O bound使用CPU的時間加上 CPU bound使用cpu的時間 跟I/O完成無關 : I/O + I/O完成 I/O做完10ms後換成CPU + 1次 context switching : ^^^^^^^^ ^^^^ : (10 + 10) / (10 * 1.1) + 10.1 = 94% : ^^^^^^^^^^^^ : I/O 每 1 ms發生一次 context switching : : 推 ceo890710:想請問第二題 為什麼I/O完成也要再多10呢.. 10/15 08:49 : → ceo890710:另外~這是以一次I/O工作來討論的嗎? 因為他有10個I/O 10/15 08:50 我的想法跟S大不一樣,我的作法是不管I/O完成的時間 只要在I/O bound task下一次分配到time quantum的時候 他自身issue的I/O operation已經處理完,不會使得此task還在等待就好 如此下次輪到此task,又會再issue一個IO operation,於是又要context switching 因為總共有10個IO bound跟1個CPU bound tasks 每個IO bound task 只要處理1ms,就會因需要等待I/O operation 而context switching到其他的task 也就是說每個I/O bound task的cpu utilization是1/1.1 而cpu bound task則是 10/10.1 (這應該沒問題) 換句話說以各任務分配到一個quantum來說,總共是10+10/10*1.1 + 10.1 然後題目有提到這些都是long-running tasks,就當作他們做不完吧XD 所以之後第二輪的執行還是跟第一輪一樣 因此cpu utilization還是如同之前算的 就跟第一題一樣的道理 第一題無論如何,每個quantum都是1/1.1 所以在此cpu scheduling之下, cpu utilization就是1/1.1 至於題目為什麼要給10個I/O bound跟1個 cpu bound 吃飽沒事想了一下 因為每個I/O operation需要10 ms處理 所以若是沒有另外9+1個 tasks 吃掉時間 則在第一題,I/O bound task等到下次輪到他的time quantum時 會因為還在等待I/O operation的處理導致他直接跳過 這樣搞下去CPU utilization應該會很難算... 這是我想的啦,也不知道有沒有錯 大家討論一下吧! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.250.59
ceo890710:我之前的方向想錯了..如果是這樣那我懂了~謝謝!! 10/15 22:30