參考這篇文章
linux支援三種程序排程策略,分別是sched_fifo 、sched_rr和sched_normal。linux支援兩種型別的程序,實時程序和普通程序。實時程序可以採用sched_fifo 和sched_rr排程策略;普通程序採用sched_normal排程策略。
本文主要討論普通程序的排程演算法,為了描述方便,後面章節中的「程序」指「普通程序」。
從linux2.6.23核心到目前最新的linux3.3.5核心的普通程序(採用排程策略sched_normal)採用了絕對公平排程演算法,cfs(completely fair schedule)。cfs從rsdl/sd中吸取了完全公平的思想,不再跟蹤程序的睡眠時間,也不再區分互動式程序。它將所有的程序都統一對待,這就是公平的含義。cfs 排程中,程序資料結構中的動態優先順序成員prio還繼續有效,只是核心不再動態調整程序的動態優先順序了。
程序排程演算法(程序排程策略)
程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...
程序排程演算法
排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短作業 程序 由此...
程序排程演算法
先來先服務 first come first service,fcfs 排程演算法按照程序進入就緒佇列的先後順序選擇可以占用處理器的程序。這是一種不可搶占方式的排程演算法,優點是實現簡單,缺點是後來的程序等待cpu的時間較長。它現今主要用作輔助排程法 例如結合在優先順序排程演算法中使用,當有兩個最高...