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

原文地址:https://www.cnblogs.com/xiarl/p/14994579.html