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

问题描述 投票:19回答:8

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

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

linux scheduling operating-system
8个回答
7
投票

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

make menuconfig

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


5
投票

如果您只想检查您的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


2
投票

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

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


1
投票

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

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


1
投票

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


0
投票

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


0
投票

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

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.