非实时操作系统中的实时优先级

非实时操作系统中的实时优先级

如果我在标准 Linux Mint 安装上执行以下命令:

comp ~ $ ps -eo rtprio,nice,cmd
RTPRIO  NI CMD
...
99   - [migration/0]
99   - [watchdog/0]
99   - [migration/1]
 -   0 [ksoftirqd/1]
99   - [watchdog/1]

我得到一些实时优先级为 99 的进程。

rtprio在非实时 Linux 中是什么意思?这是否意味着如果我只用rtprio99 运行一个程序,它就会实时运行?实时操作系统在这个故事中属于什么位置?

答案1

“实时”意味着过程必须在最后期限前完成,否则就会发生坏事(TM)。实时内核是一种内核延迟受到严格限制的内核(可能会受到硬件行为不当而无法按时响应的影响),并且大多数活动都可以被中断以让更高优先级的任务运行。就 Linux 而言,普通内核并不是实时设置的(它会降低性能,而且实时补丁依赖于核心开发人员认为粗俗的一些黑客行为)。此外,在无法跟上的机器(大多数个人机器)上运行实时内核是没有意义的。

也就是说,普通内核处理实时优先级,这使它们比普通任务具有更高的优先级,并且这些任务通常会运行直到它们自愿让出 CPU。这可以更好地响应这些任务,但意味着其他任务会被推迟。

相关内容