Linux内核使用哪些调度算法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内核使用哪些调度算法?相关的知识,希望对你有一定的参考价值。

Linux内核使用哪些调度算法?

哪里可以获得有关linux内核的更多信息? (OS第一道菜......学生水平)

答案

linux内核有几种不同的可用调度算法,用于进程调度和I / O调度。从www.kernel.org下载并致电

make menuconfig

您将获得内置帮助的所有可用选项的完整列表。曾经想出他的O(1)调度程序的人是Con Kolivas。最后必须看看他做了什么。我曾经是一次伟大的突破。

另一答案

如果您只想检查您的Linux系统正在使用哪个调度程序以及哪些可用,您可以运行以下命令:

cat /sys/block/sda/queue/scheduler

[]之间的那个是它目前正在使用的那个。其他的可用。要改变它:

sudo bash -c 'echo deadline > /sys/block/sda/queue/scheduler'

但要小心将其设置为默认值,除非您知道自己在做什么和想要什么。

默认(至少在较新的Ubuntu发行版中)是CFQ(完全公平调度):

http://en.wikipedia.org/wiki/CFQ

采访创作者(Jens Axboe):

http://kerneltrap.org/node/7637

另一答案

正如其他人已经提到的,根据预期用途,有几种可用的调度算法。

如果您想了解有关在Linux中安排的更多信息,请查看this article

另一答案

我相信“完全公平的调度程序”与最新的内核一起使用。如果您只是在Google中搜索它,我认为您可以提供大量信息。

链接:http://en.wikipedia.org/wiki/Completely_Fair_Scheduler

另一答案

Linux Kernel的新增功能是EDF(Earliest Deadline First),用于保证实时支持http://lkml.org/lkml/2009/9/22/186 http://www.evidence.eu.com/content/view/313/390/

另一答案

我认为Linux内核实际上有几个不同的调度程序,你可以在编译时选择。要了解有关Linux内核的更多信息,可以下载内核源代码(或在线浏览)并查看Documentation目录。例如,scheduler子目录可能会有所帮助。显然,你也可以看一下代码本身。

另一答案

Linux内核主要允许三种不同的调度算法

  1. 最短的工作
  2. 循环调度
  3. 基于优先级的抢占式调度算法。

第三种调度方法与2.4版本的Linux版本较低版本不同

另一答案

现代GNU / Linux发行版使用CFS(完全公平调度程序)。您可以在本书的第4章中阅读更多内容:Linux Kernel Development 3rd Edition by Robert Love

你会发现很多有趣且易于理解的解释。我很享受。

以上是关于Linux内核使用哪些调度算法?的主要内容,如果未能解决你的问题,请参考以下文章

Linux(内核剖析):08---进程调度之Linux调度算法(调度器类公平调度(CFS))

进程调度

linux内核调度算法--快速找到最高优先级进程

《Linux内核设计与实现》读书笔记- 进程的调度

linux内核 进程调度

转载小结一下linux 2.6内核的四种IO调度算法