14-O(1)调度器
17.3.2 O(1)调度器
Linux内核从2.5版本开始支持O(1)调度器,而它是Linux实时解决方案的重要组成部分。O(1)调度器相对以往的调度器有很大改进。对于那些有很多进程同时运行的系统而言,它的扩展性更好,而且能够帮助降低系统的整体延时。
你也许在想O(1)是什么意思,它是个代表一阶系统的数学标记。在这里它代表算法复杂度,其含义是指调度器作出一个调度决定所花费的时间与运行队列中的进程数量无关,是个常量。早期的Linux调度器并没有这个特点,它的性能会随着进程数量的增加而下降[5]。
[5] 我们再次向你推荐Robert Love撰写的《Linux内核设计与实现》一书,其中关于O(1)调度器和算法复杂度的内容很精彩,值得一看。