xenomai实时线程和非实时线程可以通过RTPIC 发送和接受数据,避免出现 switch to secondary mode.

本文探讨了在Xenomai实时系统中避免使用影响实时性的API的重要性,如sleep, open, close, read, write等系统调用,因为它们会导致Xenomai切换到次级模式,由Linux调度器处理,可能破坏实时性。实时和非实时任务通过RTIPC方式通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 不要在xenomai线程中调用影响实时性的API: 
xenomai实时任务中不建议调用系统调用( sleep open close read write ioctl socket printf new malloc 等等),这些系统调用会让 xenomai switching to secondary mode (because of the plain linux syscalls) and then handeled by the linux scheduler(另外,系统调用会产生CPU软中断并陷入内核态,内核中可能会因等待外部设备响应或是DMA等操作破坏实时性). 如图所示:

è¿éåå¾çæè¿°

其中实时和非实时采用RTIPC方式进行通信传递数据:

 

Refercence:

https://moodle-arquivo.ciencias.ulisboa.pt/1415/pluginfile.php/105637/mod_resource/content/2/SETR_xenomai.pdf

https://blog.youkuaiyun.com/GW569453350game/article/details/54580580

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值