2013-04-04 92 views
0

假設以下過程在指定的時間到達執行時間。每個進程將運行列出的時間量。最短作業優先計劃

Process [Arrival Time(ms) , Burst Time(ms)] 
A[0 , 5] , B[3 , 5] , C[5 , 3] , D[7 , 2] 

我想提請甘特圖並計算平均等待時間最短搶佔作業首先調度。

解決方案

http://imgur.com/fP8u61C

等待時間爲2ms。

請告訴我,如果這是正確的。

步驟在那裏我有疑問的是,在3毫秒,當進程B到達時,將調度完成A處理或啓動過程B.

+0

歡迎來到SO。谷歌,找到,學習,然後來對SO進行重點澄清。 – 2013-04-04 15:23:54

回答

0

是的,你的回答是正確的。事實上,所提出的問題不明確,但兩種可能性都給出了相同的答案。

首先,模糊性:最短作業優先調度通常不被認爲是先發制人。搶先變異被稱爲最短剩餘時間優先調度(參見例如the Shortest Job Next entry on Wikipedia。但是,你exercice美國「先發制人作業優先調度」,並曖昧......

二,然而,唯一的時候,有可能這兩個調度策略之間的區別是,正如你所提到的,當A和B都符合要求時,在t=3,但是如果調度是非搶先的,當然A繼續執行,它是搶先的,我們必須考慮剩餘的時間:A有2毫秒,而B有它的整個5 ...所以A仍然得到CPU。

最後,等待時間是:A -> 0 ms, B -> 7 ms, C -> 0 ms, D -> 1ms,其平均值確實是2 ms

0

你可能不得不對自己的功課要做。

展示你的嘗試,並說出你的問題和你的問題。

不要等待一個完整的解決方案!

+0

我已經分享瞭解決方案鏈接。請驗證答案。 – Kaushik 2013-04-04 15:32:41

+0

嗯,我認爲這是錯誤的。首先你已經畫出了16個區塊,但是你有15個,0-15個是16個,所以你去了0-14。然後,當您到達另一個進程的到達時間時,該進程會重新開始,直到您第一次完成進程。他們再次檢查剩餘的爆發時間,並從最小的開始。所以,如果你願意,你會恢復正常,直到9歲,然後你必須檢查。 – Mhche 2013-04-04 15:48:26

+0

另外,這不是甘特圖,但我認爲這是你的老師的錯誤。所以不要擔心,但要知道。 – Mhche 2013-04-04 15:50:43