多級反饋佇列排程演算法詳解

2020-07-16 10:04:40
通常在使用多級佇列排程演算法時,進程進入系統時被永久地分配到某個佇列。例如,如果前台和後台進程分別具有單獨佇列,那麼進程並不從一個佇列移到另一個佇列,這是因為進程不會改變前台或後台的性質。這種設定的優點是排程開銷低,缺點是不夠靈活。

相反,多級反饋佇列排程演算法允許進程在佇列之間遷移。這種想法是,根據不同 CPU 執行的特點來區分進程。如果進程使用過多的 CPU 時間,那麼它會被移到更低的優先順序佇列。這種方案將 I/O 密集型和互動進程放在更高優先順序佇列上。 此外,在較低優先順序佇列中等待過長的進程會被移到更高優先順序佇列。這種形式的老化可阻止飢餓的發生。

多級反饋隊列
圖 1 多級反饋佇列