費翔林, 駱斌. 操作系統教程(第五版).第121頁28、29題筆記

參考文獻:[1]費翔林, 駱斌. 操作系統教程(第五版) [M]. 北京:高等教育出版社,2014. 

題目:某多道程序系統採用可變分區存儲管理,供用戶使用的內存空間爲200KB,磁帶機5臺。採用靜態方式分配外部設備,且不能移動內存中的作業,進程調度採用FCFS算法,忽略用戶作業I/O操作時間。現有作業序列如下:

作業號 進入輸入井時刻 運行時間/min 內存需求量/KB 磁帶機需求/臺
A 8:30 40
30 3
B 8:50 25 120 1
C 9:00 35 100 2
D 9:05 20 20 3
E 9:10 10 60 1
        現求:(1)FCFS算法選中作業執行的次序及作業平均週轉時間;

                  (2)SJF算法選中作業執行的次序及作業平均週轉時間。


分析:



  1. 題意解讀:
    • 作業調度和進程調度:計算機核心是磁盤(外存)、內存、CPU,放在磁盤中的就是作業,放在內存中的就是進程,從磁盤中選中滿足資源的作業到內存中創建進程的過程就是高級調用,從內存中選中一個進程到CPU中執行就是低級調用。所以對於題目中的要求,進程採用FCFS算法,就是內存中的進程的調度算法;xxxx算法選中作業,就是磁盤中的作業創建進程的策略。
    • 週轉時間 = 完成時刻 - 提交時刻(進入輸入井時刻)。
    • 磁帶機不可剝奪。
    • 不能移動內存中的作業:就是一旦進程創建成功,其對應的空間地址不能更改。
  2. 解題步驟:
    解題過程

答案:



第1題:FCFS算法調度作業

作業號 提交時刻 進內存時刻 開始時刻 完成時刻 週轉時間
A 8:30 8:30 8:30 9:10 40min
B 8:50 8:50 9:10 9:35 45min
C 9:00 9:35 9:55 10:30 90min
D 9:05 9:10 9:35 9:55 50min
E 9:10 9:55 10:30 10:40 90min
作業執行次序 A -> B -> D -> C -> E
平均週轉時間 (40 + 45 + 90 + 50 + 90) / 5 = 54(min)
——————————————分割線—————-

第2題:SJF算法調度作業

作業號
提交時刻 進內存時刻 開始時刻 完成時刻 週轉時間
A 8:30 8:30 8:30 9:10 40min
B 8:50 8:50 9:10 9:35 45min
C 9:00 9:55 10:05 10:40 100min
D 9:05 9:10 9:35 9:55 50min
E 9:10 9:35 9:55 10:05 55min
作業執行次序 A -> B -> D -> E -> C
平均週轉時間 (40 + 45 + 100 + 50 + 55) / 5 = 58(min)

變題:在上題中,如果允許移動已在內存中的作業,其它條件保持不變。

分析:允許移動內存中的作業(應該是進程吧(′д` )…彡…彡),就是說使用的內存不超過200KB就可以了。

解題步驟:

解題步驟






答案:


第1題:FCFS算法調度作業

作業號 提交時刻 進內存時刻 開始時刻 完成時刻 週轉時間
A 8:30 8:30 8:30 9:10 40min
B 8:50 8:50 9:10 9:35 45min
C 9:00 9:55 10:05 10:40 100min
D 9:05 9:10 9:35 9:55 50min
E 9:10 9:10 9:55 10:05 55min
作業執行次序 A -> B -> D -> E -> C
平均週轉時間 (40 + 45 + 100 + 50 + 55) / 5 = 58(min)
——————————————分割線—————-

第2題:SJF算法調度作業

作業號
提交時刻 進內存時刻 開始時刻 完成時刻 週轉時間
A 8:30 8:30 8:30 9:10 40min
B 8:50 8:50 9:10 9:35 45min
C 9:00 9:45 10:05 10:40 100min
D 9:05 9:10(後) 9:45 10:05 60min
E 9:10 9:10(先) 9:35 9:45 35min
作業執行次序 A -> B -> E -> D -> C
平均週轉時間 (40 + 45 + 100 + 60 + 35) / 5 = 56(min)
在第2題中,D和E從宏觀上看是同時進入內存,但是在高級調用(磁盤到內存)中用是SJF算法,而執行時間(E)<執行時間(D),所以E是排在D前面的。

KEYS:


  1. 週轉時間 = 完成時刻 - 提交時刻。
  2. 作業的調度和進程的調度,要從 磁盤 – 內存 – CPU 這三個角度考慮,題目說的算法是針對作業的還是進程的,這是有區別的。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章