Linux中的实时流程调度
我一直在学习一些调度概念。目前,到目前为止,我的理解如下。 有实时过程和非实时过程。 非实时进程nice的优先级值可以在-20到+20之间。正值越高,表示该进程的优先级越低。 实时进程将列为正派值-作为这个答案说明这里。这主要是因为实时过程比非实时过程具有更高的优先级,并且niceness值不适用于它们。 现在,我可以chrt用来查看流程的实时属性。 对于实时过程,chrt给出的输出为 chrt -p 5 pid 5's current scheduling policy: SCHED_FIFO pid 5's current scheduling priority: 99 正如我们在流程5中看到的那样,优先级是最高的99。另外,调度策略是SCHED_FIFO 现在,对于非实时过程,chrt给出的输出为 chrt -p 22383 pid 22383's current scheduling policy: SCHED_OTHER pid 22383's current scheduling priority: 0 如我们对于进程22383所看到的,优先级为0,调度策略为SCHED_OTHER。 问题 我可以将任何过程都设为实时过程吗? 除了SCHED_OTHER非实时过程外,我是否可以设置其他调度算法? 从这里,我还看到我可以修改正在运行的进程的属性,因为, chrt -p prio pid 另外,我看到chrt -m了调度算法列表。该命令将输出显示为 SCHED_OTHER …