2014-02-26 52 views
0

我打算为Linux编写一个新的调度程序。我想知道当前使用的调度程序和它的“C”代码。 我可以在Linux文件系统中找到包含调度程序代码的文件。Linux调度程序修改

有关如何修改调度算法的任何参考或帮助将是伟大的或我可以从中学习的任何来源?

+2

很难理解你如何认为自己已经准备好替换这个功能,而不能自己弄清楚如何找到它。边干边学是一个好主意 - 但对于这样规模的项目,您将面临许多问题,这些问题比简单地定位内核代码的相关部分需要更多的个人主动权。不过,作为一个纯粹实际的建议,从源代码构建内核并在进行*任何*更改之前对其进行测试,以便您知道只会遇到您引入的错误,而不会处理问题。 –

+0

请在发帖之前在SO中进行搜索。有很多与Linux调度程序相关的问题。查看本页面的右侧窗格,查看相关问题的自动列表。 –

回答

0

Documentation/scheduler包含当前Linux调度器的文档,kernel/sched的实现。

您可以通过克隆Linux的存储库到本地机器上:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
0

调度代码是在linux树sched.c,你可以打开它,看看它是所选择默认的调度。

而且也添加/更改调度,看到这个帖子: How to create a new Linux kernel scheduler

你需要有整个Linux源能够改变/添加调度。如@leeduhem所示,将linux源代码复制到您的机器上。