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):
正如其他人已经提到的,根据预期用途,有几种可用的调度算法。
如果您想了解有关在Linux中安排的更多信息,请查看this article。
我相信“完全公平的调度程序”与最新的内核一起使用。如果您只是在Google中搜索它,我认为您可以提供大量信息。
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内核主要允许三种不同的调度算法
第三种调度方法与2.4版本的Linux版本较低版本不同
现代GNU / Linux发行版使用CFS(完全公平调度程序)。您可以在本书的第4章中阅读更多内容:Linux Kernel Development 3rd Edition by Robert Love
你会发现很多有趣且易于理解的解释。我很享受。