2015-02-08 123 views
1

五個進程開始於它們在(0,0,2,3,3)秒執行並執行(2,2,1,2,2)秒。我應該怎麼計算平均週轉時間,如果:如何計算平均週轉時間 - 循環和FIFO調度?

一)我們用輪循(量子1秒)

b)我們使用FIFO調度?

我不知道如何解決這個問題,你們能幫我解決嗎?

這裏是.png表的鏈接;

table link

+0

歡迎使用StackOverflow。儘管如此,我真的認爲你應該嘗試做你自己的作業... – Christophe 2015-02-08 11:38:50

+0

嗨克里斯托弗,謝謝你的歡迎。 我可以嘗試,但我不認爲我的解決方案是正確的。這就是我問這個問題的原因。 這是我的嘗試: [鏈接到圖片](http://i.imgur.com/FwLk5gB.png8) – phantom 2015-02-08 11:55:01

+0

有人可以確認,如果這是正確的答案? – phantom 2015-02-08 13:35:18

回答

3

我想,你的運動是關於在單個處理器上調度任務。我的理解是,因此以下內容:

  • 隨着FIFO,每個任務計劃在到達的順序,直到它完成
  • 隨着RR執行,定是一段量子才執行,共享目錄操作搜索任務處理器在所有活動進程之間

在這種情況下,你獲得這樣的調度表:

enter image description here

turnaround是提交作業的時間之間的時間,而時間就結束。在第一種情況下,我總共找到19個,因此平均有3,8個。在第二種情況下,我發現共有25個,平均5個。

第一次嘗試時,您的進程在parralel中運行。這將假設2個處理器。但是,如果有2個處理器可用,循環和FIFO將具有相同的結果,因爲總是有足夠的處理器來服務活動過程(因此沒有等待時間)。總週轉率將爲9,平均爲1,8。

+0

謝謝你克里斯托弗你的答案。我很感激。 是的,你的假設是正確的,調度是在一個CPU上。 我並不確定流程何時開始執行,因爲例如流程A和流程B都是在時間0開始的,所以我認爲這兩個流程必須從時間0開始。 這就是爲什麼我有進程並行運行。 所以基本上當一個過程完成後,我將每個過程的最終時間和提交時間相減,然後得到平均時間。 – phantom 2015-02-08 17:39:43