8. 下列何者屬「搶奪式」(Preemptive)工作排程?
(A) FCFS
(B) PS
(C) SJF
(D) SRTF
答案:登入後查看
統計: A(110), B(91), C(308), D(630), E(0) #2799500
統計: A(110), B(91), C(308), D(630), E(0) #2799500
詳解 (共 6 筆)
#5734215
- 先到先服務法(First-Come First-Served, FCFS)FCFS演算法十分簡單,它採用一個先進先出的佇列,誰先進入等待佇列,誰就能先占用CPU,且一旦將CPU分配給某行程後,該行程就會一直占用CPU,直到該行程結束或該行程執行等待I/O事件時而釋放出CPU的使用權,才會交給下一個在等待佇列中的行程。
我們可以用FIFO(First In First Out)佇列來執行FCFS的工作。
缺點:
1.平均等待時間經常是很長的
2.會產生所謂的護送效應(convoy effect)現象。
所謂護送效應就是說,有很多程式必須等待某個大程式的完成之後,才能繼續工作的現象。
日常生活中常會發生護送效應,例如:上、下班時間,在速度較慢且體積大的公車後面,都會擠滿了過不去的小客車或摩托車的情況。 - 輪流法(Round Robin, RR)輪流法則的效能完全取決於時間量(time quantum)的長短。若是這個時間量非常大的話,那麼RR就跟FCFS排班是一樣的;
若是時間量非常短,則內容轉換(context switch)會經常發生,這對於系統的執行效率會大打折扣,因此一般要求時間量的長短應該要比內容轉換所需的時間要來的長些。 - 最短優先法(Shortest Job First, SJF)這種演算法就是不斷地指定給下一個需要CPU burst最短的行程,如
果兩個行程具有相同長度的CPU burst,那麼就採用FCFS的方法來決定。 - 優先權排班法(Priority Scheduling, PS)
每一個行程都有它自己的優先順序,CPU將分配給具有最高優先權的行程,若具有相同優先順序的行程,則按照FCFS來排班即可。
SJF其實就是優先權排班演算法的特例。
優先權排班演算法會有饑餓現象發生,解決方式就是採用變老(aging)技術,行程的變老技術是提高等待時間較久的行程的優先權,進而改變其使用CPU的優先順序 - 最短剩餘時間優先(SRTF)排程演算法Shortest Remaining Time First
特點:- CPU scheduling是不公平的
- Starvation,可採aging technique,解決低優先權process配無限擱置問題
- 根據優先權的定義,可能是preemptive或non-preemptive
- 優先權可由系統內部或外部定義
內部:使用一些可量化數值定義priority。如時間限制、記憶體需求、平均I/O burst與CPU burst的比例
外部:由系統外部的標準所決定。如process的重要性 - 優先權是否可更改
Static:優先權設定給process後,就不能再更改
Dynamic:優先權設定給process後,可依需求再更改
19
0
#5813483
這題感覺是不是有異議空間?
(B)、(C) 可以歸類為 Preemptive 或 Non-Preemptive
目前解題方式是因為 (C) 是 (B) 的特例,互有關連性
所以只選剩下的 (D)
1
0