我想在使用实时PREEMPT_RT时编写实时Linux程序。我找到了官方维基(https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application)。有一些代码示例,但我想要解释可能的RT函数。使用PREEMPT_RT构建RT应用程序
谢谢
我想在使用实时PREEMPT_RT时编写实时Linux程序。我找到了官方维基(https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application)。有一些代码示例,但我想要解释可能的RT函数。使用PREEMPT_RT构建RT应用程序
谢谢
需要强调的是PREEMPT_RT是改变Linux内核的内部代码,以减少用户级进程中遇到的最大延迟一个补丁是非常重要的。这是通过改变例如自旋锁实时可抢占互斥锁,使用线程中断(即硬件中断处理程序在单独的内核线程中运行)等等。因此,它不提供用于用户级编程的任何API,您仍然依赖于标准的libc和系统调用原语。只需修补,配置并重新安装内核(或者,也可以安装预先构建的PREEMPT_RT内核)。
当然,您仍然可以按照良好的实践实时编程来避免延迟和争用。您提到的页面涉及如何配置内核并编写代码以从修补程序中充分受益。
如果您寻找特定的实时API,您可能需要看看Xenomai 3.0.1,它提供了一个特定的API,用于在标准Linux或Xenomai管理程序之上运行用户级进程(以下图层Linux内核)