我已经用PREEMPT_RT补丁修补了我的Raspbian,以使我的操作系统可以抢占。如何使我的一个应用程序实时运行?(可加载的内核模块等)
发布于 2019-08-09 23:32:09
Linux中的进程已经可以通过圆环线时间切片来抢占。PREEMPT_RT补丁所做的是支持基于优先级的抢占。这是最高优先级的就绪线程,直到它阻塞或被更高优先级的线程准备就绪为止。没有PREEMPT_RT,更高优先级的线程只需要分配更多和/或更大的时间片。(有点简单的描述- Linux调度比实际的要复杂一些)。
一个进程在实时操作系统甚至PREEMPT_RT上运行,不会神奇地变成“实时的”。这些只是提供实时支持--您的应用程序仍然必须经过适当的设计才能满足实时截止日期。来自实时Linux Wiki常见问题
在非RT上设计不好的应用程序永远不会在RT上实时运行。
可以使用chrt设置现有进程的优先级和调度策略。但正如所解释的,以高优先级运行一个进程并不一定是“实时”的。最糟糕的情况是,您的进程占用了处理器,因此其他任何程序都无法运行。
https://stackoverflow.com/questions/57421474
复制相似问题