Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux内核更改默认CPU调度程序_Linux_Linux Kernel_Kernel_Scheduler_Schedule - Fatal编程技术网

Linux内核更改默认CPU调度程序

Linux内核更改默认CPU调度程序,linux,linux-kernel,kernel,scheduler,schedule,Linux,Linux Kernel,Kernel,Scheduler,Schedule,我正在尝试破解Linux内核,我想知道。如何使用另一个进程调度器更改默认的Linux进程调度器?我能把每个进程都设置为实时进程吗?这篇文章有点过时,但不管怎样,我希望这能有所帮助。。。 我也有类似的问题,我对Linux内核进行了一次黑客攻击,使RR成为默认的CPU调度程序。最后,黑客基本上改变了shed_fork函数,正如前面的评论所指出的那样。以下是我为实现该功能而编写的代码:请参阅此处的ans以更改调度程序:@brokenfoot I/O调度程序和CPU调度程序是否相同?我相信它们是不同的。

我正在尝试破解Linux内核,我想知道。如何使用另一个进程调度器更改默认的Linux进程调度器?我能把每个进程都设置为实时进程吗?

这篇文章有点过时,但不管怎样,我希望这能有所帮助。。。
我也有类似的问题,我对Linux内核进行了一次黑客攻击,使RR成为默认的CPU调度程序。最后,黑客基本上改变了shed_fork函数,正如前面的评论所指出的那样。以下是我为实现该功能而编写的代码:

请参阅此处的ans以更改调度程序:@brokenfoot I/O调度程序和CPU调度程序是否相同?我相信它们是不同的。你想改变进程的调度策略还是完全不同的调度算法?。默认的调度程序是CFS。是的,您可以将每个进程设置为实时进程,您可以通过做一些更改在内核中强制执行它。@Sasi我想更改调度策略。我希望每个进程都使用循环或FIFO。我试图更改“sched.c”中的“\uu sched\u setschedueler()”函数,但没有成功。请看一下sched\u fork。它具有优先级信息。如果需要,请更改它,否则使用默认值。在sched_fork p->prio=当前->正常_prio;同时检查不太可能(p->sched_reset_on_fork)case tooHi,欢迎使用堆栈溢出。请不要发布一个链接作为答案,如果它被更改或离线,它将变得无用。取而代之的是,使用信息和代码来构建您的答案,并使用链接作为参考。谢谢。基本上,更改必须在kernel/sched/core.c中的sched_fork函数中完成。您必须相应地修改p->policy属性(例如使用SCHED_RR)和优先级。此更改将把所有进程置于选定的调度域中。您还可以通过修改优先级属性来更改默认流程优先级。如果需要,请执行以下操作: