Linux内核使用哪些调度算法?
我该在哪里获取有关Linux内核的更多信息?(操作系统初学者水平)
Linux内核使用哪些调度算法?
我该在哪里获取有关Linux内核的更多信息?(操作系统初学者水平)
注意: 此回答是关于IO队列调度器的,而不是进程。
如果您只想检查您的Linux系统正在使用哪个调度程序以及可用的调度程序,您可以运行以下命令:
cat /sys/block/sda/queue/scheduler
方括号中的是当前使用的语言,其他语言也可用。 要更改语言:
sudo bash -c 'echo deadline > /sys/block/sda/queue/scheduler'
Linux内核有多种不同的可用调度算法,既用于进程调度,也用于I/O调度。从www.kernel.org下载并调用它。
make menuconfig
我相信“完全公平调度器”已经在最新的内核中使用。如果你在谷歌上搜索它,你可以找到很多信息。
现代GNU/Linux发行版使用CFS(完全公平调度器)。您可以在本书的第4章中了解更多信息: Robert Love的Linux内核开发第3版
您将在那里找到许多有趣且易于理解的解释。我很喜欢。
我认为Linux内核实际上有几个不同的调度器可以在编译时选择。要了解更多关于Linux内核的信息,您可以下载内核源代码(或在线浏览),并查看Documentation目录。例如,scheduler子目录可能会有所帮助。当然,您也可以直接查看代码本身。
Linux内核主要允许三种不同的调度算法:
第三种调度方法与较低版本的Linux版本(如2.4)有所不同。