1. 程式人生 > 其它 >linux cpu排程演算法發展過程

linux cpu排程演算法發展過程

這裡記錄的並沒什麼新意,實質內容是幾個參考資料的摘錄和搬運,參考資料的幾個連結中有比較詳細的介紹。

而且資料可能有點老,有沒真實的說明當下的準確情形,也不確定。

任務排程,當然是在多工系統情況下才有的需求。

任務排程,其實是對於一個執行單元——執行緒——來說的,但一般也就籠統的說是程序或任務排程器。(怎麼說呢,反過來說,linux多執行緒又是利用程序實現的……)

在Linux 2.4版本(2001.1.4釋出的)的時候是個稱為O(n)的排程器

在Linux 2.5版本的開發過程中(2002?),Ingo Molnar設計的O(1)排程器替換掉了原始的、簡陋的O(n)排程器

Con Kolivas 提出公平排程的思想(2004年),樓梯排程演算法 staircase scheduler

Con Kolivas開發 RSDL(Rotating Staircase Deadline Schedule)排程器,對SD演算法的改進

在Linux 2.6.23 核心中(2007.10),Ingo Molnar開發 CFS(Completely Fair Scheduler,不再跟蹤程序的睡眠時間,也不再企圖區分互動式程序。它將所有的程序都統一對待。

參考資料

http://www.elecfans.com/emb/202009181301707.html

http://blog.chinaunix.net/uid-27007072-id-3361424.html

https://blog.csdn.net/segments/article/details/7041142

【華為雲技術分享】Linux核心發展史 (1)https://blog.csdn.net/devcloud/article/details/104040613

Linux排程器發展概述:https://blog.csdn.net/orange_os/article/details/7563042