2012-11-02 27 views
2

這是一個我無法解決的考試問題,即使在搜索響應時間之後。計算操作系統中的響應時間

我認爲答案應該是RR調度220, 120

有效性取決於兩個因素:Q的時間段,而調度開銷S的選擇。如果系統包含n個進程,並且進程的每個請求都消耗q秒,則請求的響應時間(rt)爲rt = n(q + s)。這意味着響應是在整個CPU突發並被安排到下一個進程之後生成的。 (在q + s後)

假設OS包含10個同時啓動的相同進程。每個進程包含15個相同的請求,每個請求消耗20毫秒的CPU時間。一個請求之後是一個消耗10秒的I/O操作。系統在CPU調度中耗費2毫秒。計算由每個過程對於以下兩種情況下發出的最前一頁的請求的平均響應時間:

  • (i)所述時間量子是20毫秒。 (ii)時間量爲10毫秒。

+0

您是否應該假設執行I/O阻塞所有其他線程,或者它可能與CPU上運行的任務並行發生?另外,您是否注意到I/O操作消耗10秒(而不是毫秒)? – Dan

+0

另外,據推測這是一個單處理器系統? – Dan

回答

0

請注意,我假設你的意思10ms而不是10s的I/O等待時間,而一個I/O操作正在進行,沒有什麼可以對CPU的運行。在真實的操作系統中,後一種假設是不正確的。

每個過程需要時間15 requests * (20ms CPU + 10ms I/O)/request = 450ms

然後,由時間段劃分得到調度延遲的數量,並添加到450ms

  1. 450ms/20ms = 22.5但實際上它應該是23,因爲你不能得到部分重新安排。這給出了答案450ms + 2ms/reschedule * 23 reschedules = 496ms

  2. 450ms/10ms = 45。這給出了答案450ms + 2ms/reschedule * 45 reschedules = 540ms