Page 20 - ePC11111_資訊科技_課本PDF
P. 20
有 3 個程序 P1、P2 和 P3,它們完成工作的時間分別為 27、6 和 12,使用 FCFS 排
程法時,最長與最短的平均等待時間各為何?
˙ ࠷త࡞ઌ၏ʢShortest-Job-First, SJFʣ
SJF 的原理就是先從待處理程序中,挑選最短時間的程序,由小大到排序讓 CPU 處
理,這樣的好處是可以得到最短的平均等待時間。
接續表 1-1.1 的例子,使用 SJF 的方式重新排序,順序應為 P3、P2、P1,則平均等
待的時間為 4,如圖 1-1.14。
圖 1-1.14 順序為 P3、P2、P1 的處理程序
雖然 SJF 演算法非常理想,可以得到最短平均等待時間,但在 CPU 未運算時,是
無法「事先」得知每個程序需要執行的時間。因此,一般作業系統只能根據經驗或設
定的條件進行處理。而 SJF 在處理時,可分為可搶奪(Preemptive)與不可搶奪(Non-
Preemptive), 可搶奪是指當新的程序到達時,如果處理時間比現行要處理的程序時間短,
則現行處理的程序會暫停,改由新的程序先處理。
有 4 個程序 P1、P2、P3、P4,它們完成工作的時間分別為 16、8、2、24,那麼使
用 SJF 排程法時,平均等待時間為何?
˙ ߴ༏ઌᒟഉఔʢPriority Scheduling, PSʣ
在 PS 演算法中,每個程序都有自己的優先權順序,而 CPU 則依具有優先順序的程
序進行排程處理。優先權的定義可分為內部定義與外部定義。內部定義指的是作業系統,
依使用的時間限制、記憶體需求、開啟檔案數或所需 I/O 時間,來決定優先順序。而外
部定義則是由作業系統外部的標準來決定,比如使用者權限或程序的重要性。
10 資訊科技 INFORMATION TECHNOLOGY