Linux支持的最小循环调度间隔是多少?

Linux支持的最小循环调度间隔是多少?

出于某种原因,我想让 10 个进程通过亲和力共享同一个 CPU 核心。

如您所知,为了实现进程之间的CPU共享,我们可以利用Linux循环(RR)调度策略。

对于Linux内核3.9及更高版本,可以通过更改文件来设置RR调度间隔/proc/sys/kernle/sched_rr_timeslice_ms。 RR调度间隔默认为100ms。

我的问题是:

  1. 我希望RR调度间隔为100μs,即一个进程执行100μs,然后执行另一个进程。但我未能将 的值设置/proc/sys/kernle/sched_rr_timeslice_ms为小于 1ms。我想知道当前Linux内核支持的最小RR调度间隔是否为1ms。

  2. 有谁知道 Windriver Linux 支持的最小 RR 调度间隔是多少?由于Windriver Linux广泛应用于嵌入式系统,对操作系统的实时性要求较高。

  3. 我想知道是否可以使用互斥锁让所有 10 个进程在 1 毫秒内至少执行一次。也就是说,一个进程执行100μs,然后解锁互斥锁,以便另一个进程可以锁定并执行。这个机制有效吗?

  4. 如果上面的方法不行的话,把10个进程改成10个线程怎么办?有没有高效的线程切换机制?

相关内容