推 ceo890710:我之前的方向想錯了..如果是這樣那我懂了~謝謝!! 10/15 22:30
※ 引述《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