这里记录的并没什么新意,实质内容是几个参考资料的摘录和搬运,参考资料的几个链接中有比较详细的介绍。
而且资料可能有点老,有没真实的说明当下的准确情形,也不确定。
任务调度,当然是在多任务系统情况下才有的需求。
任务调度,其实是对于一个执行单元——线程——来说的,但一般也就笼统的说是进程或任务调度器。(怎么说呢,反过来说,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