3.(CPU 排程 Scheduling)哪一種排程策略最容易造成「飢 餓(Starvation)」?
(A)先來先服務(FCFS)
(B)時間片 輪轉(Round Robin)
(C)最短剩餘時間優先(SRTF)
(D)多 層隊列排程(Multilevel Queue)

答案:登入後查看
統計: A(5), B(0), C(11), D(4), E(0) #3678234

詳解 (共 1 筆)

#7219013

【解題思路】

題目關鍵字:「CPU 排程」「飢餓 Starvation」「最容易造成」。

要解這題,你要知道什麼是飢餓:

飢餓:某一工作永遠得不到 CPU,因為其他工作一直被排在它前面。

接下來看各排程策略是否會讓某些行程「永遠輪不到」。

(A) FCFS(先來先服務)
→ 不會飢餓,只是慢。排到就是排到。

(B) Round Robin(時間片輪轉)
→ 不會飢餓,每個行程都會輪到 CPU。

(C) SRTF(最短剩餘時間優先)
→ 非常容易造成飢餓。
因為「短工作一直插隊」,長工作可能永遠等不到。

(D) Multilevel Queue(多層隊列排程)
→ 也會有飢餓問題(高優先權隊列一直搶)。
但題目問的是「最容易」,不是真正發生比例最高。

在四個選項中,「公認最容易造成飢餓」的是:

SRTF(C)

因為該演算法本質就是「短作業一直插隊」,長作業很可能永遠排不到。

【為什麼其他選項不正確】

(A) FCFS
→ 單純排隊,不會永遠排不到,只是會等很久,不叫飢餓。

(B) RR(Round Robin)
→ 每個行程都有固定時間片,不可能飢餓。

(C) SRTF
→ 正確;長作業可能永遠被短作業插隊。

(D) Multilevel Queue
→ 雖然也可能飢餓,但這題通常考的是「最典型的飢餓來源」,答案是 C。

【延伸知識】

CPU 排程容易造成飢餓的兩大類:

  1. Shortest Job First / SRTF
    → 短工作優先,有新短工作就插隊。

  2. 高優先權策略(例如 Multilevel Queue)
    → 低優先權工作可能永遠排不到。

但課堂與考試「最標準答案」永遠是 SRTF(或 SJF/SRT)。

【記憶技巧】

口訣:
「短插長,長會餓。」
「越愛插隊的排程,越容易飢餓。」
SRTF = 最會插隊 = 最容易飢餓。

【常見錯誤】

學生常認為 Multilevel Queue 比較嚴重,其實兩者都能造成飢餓。
但 CPU 排程章節裡,只要問「最容易產生飢餓」,考法就是鎖定:

SRTF

0
0