我想在使用实时 PREEMPT_RT 的同时编写实时 Linux 程序。我找到了官方 Wiki ( https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application )。有一些代码示例,但我想了解可能的 RT 功能。
谢谢,
我想在使用实时 PREEMPT_RT 的同时编写实时 Linux 程序。我找到了官方 Wiki ( https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application )。有一些代码示例,但我想了解可能的 RT 功能。
谢谢,
重要的是要强调 PREEMPT_RT 是一个补丁,它改变了Linux 内核的内部代码,以减少用户级进程所经历的最大延迟。这可以通过将自旋锁更改为实时抢占式互斥锁、使用线程中断(即硬件中断处理程序在单独的内核线程中运行)等等来完成。因此,它没有为用户级编程提供任何 API,您仍然依赖于标准的 libc 和系统调用原语。只需修补、配置和重新安装内核(或者,安装预构建的 PREEMPT_RT 内核)。
当然,您仍然可以遵循良好的实时编程实践来避免延迟和争用。您提到的页面涉及如何配置内核和编写代码以充分利用补丁。
如果您寻找特定的实时 API,您可能需要查看Xenomai 3.0.1,它提供了一个特定的 API,用于在标准 Linux 或 Xenomai 虚拟机管理程序(低于Linux内核)