linux - linux内核中的调度算法

标签 linux process kernel scheduling

linux 内核中实现了多少种不同的算法?只有FIFO和Round Robin,还是还有其他的?

我在哪里可以找到关于这个主题的好文档?

假设我想实现这些算法 myslef,我应该从哪里开始?

最佳答案

在实时调度器方面,linux提供了FIFO和Round-Robin(POSIX SCHED_FIFO and SCHED_RR)。还有一个名为 Completely Fair Scheduler (CFS) 的分时调度程序。 ,它非常复杂,您可以将其称为多个调度程序(即,多核,以及针对不同负载的多种抢占样式/风格)。 CFS 在内核文档 (sched-design-CFS) 中有一些详细描述,但建议仔细阅读相关资源。 CFS 是 Linux 对 POSIX 的 SCHED_OTHER 策略的实现。

此外,还有添加其他调度策略的补丁,如 a new real-time Earliest Deadline First (EDF) scheduler .

除了有关该主题的许多书籍(其中许多在出版时已过时)之外,您还可以引用 kernel documentation here或者在 docs/scheduler 下的内核树中。细读 LKML archives for discussion on the topic 也很有用.

如果您刚刚起步或想使用范围更广的实时调度程序,您可以考虑 UNC 的 LITMUS-RT framework .

关于linux - linux内核中的调度算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10599524/

相关文章:

linux - RSH:端口耗尽

python - 求助.....串口编程

c++ - Windows EXE/DLL : what is a "packed image"

c - 消息队列中的多条消息

java - OpenCL 构建错误

Linux 输入驱动程序无法正常工作

c - fseek 的性能开销是多少?

linux - 在 Linux 中创建和修改 VDI 磁盘镜像的内容

linux - 删除特定单词之间带有 VIM 的 .txt 的内容

linux - Linux gcc 支持 coreleft 函数吗?