linux实时化改造:Preempt-rt 和 Xenomai

Xenomai是一种双内核方案,提供实时微内核,处理实时任务,而Linux处理非实时任务。Preempt-RT则是通过打补丁将Linux内核变为硬实时系统。选择Xenomai可能因为需要保留传统RTOS API或在性能有限的硬件上运行。而Preempt-RT适合纯POSIX应用且系统性能足够。选择取决于实时性需求和硬件性能。
摘要由CSDN通过智能技术生成

linux实时化改造:RT-Preempt 和 Xenomai

Xenomai

<1> Xenomai简介-百度百科
关键词:
双内核方案,在linux内核之外构造一个实时微内核。
微内核负责处理系统的实时任务,而Linux 则负责处理非实时任务,只有当实时内核不再有实时任务需要处理的时候,Linux 内核才能得到运行的机会

<2> 深度讲解Xenomai 实现原理

Preempt-rt

<1> 基于Preempt-RT实时SMP Linux系统1: 实时性
关键词:
单内核方案,对主线传统的Linux内核打入PREEMPT_RT补丁,使内核成为硬实时操作系统

Xenomai 3 和 Preempt-rt 有哪些优势相比

问:
我可以在我的开发板PREEMPT_RT直接在内核环境中执行POSIX应用, 使用Xenomai3 这是什么原因它?

答:
假设你的应用程序已经完全是POSIX,而且性能也满足,则,而且也没有理由去使用它Xenomai3.但是,你可能会考虑基于以下两点Xenomai3.

  • 你想移植遗留的嵌入式应用到Linux上而不用改动API(*移植性更好). 比方说,你不想在POSIX接口上重写API, 这时候Xenomai就能发挥它的用场.由于它通过一个共通的实时性来支持多个编程接口,包含传统的RTOS API, Xenomai3也将在基于PREEMPT_RT的系统上支持这些API.

  • 你的目标板的性能不足,或/而且你想要你的实时任务给系统追加最小的负载(对处理器/微控制器性能要求较低). 这就是双内核机制优于原生的抢占系统的一个地方. 后者的情况下,全部的Linux系统必须运行内部代码(如优先级继承,中断线程化)来防止实时处理被延迟, 可是在双内核系统里, 并没有这样的必要,由于实时内核是差别于Linux内核独立运行的,故而,通常的Linux动作并不会对实时动作有影响,它甚至都不须要知道实时内核.

总而言之, 对这类问题并没有一个统一的答案:它实际上依赖于你对性能的要求(实时性上:Xenomai优于PREEMPT_RT)和你的开发板的性能. 这是一个case-by-case的东西. 仅仅是说"我们能够在最坏情况下达到X微秒"却不指明板子的性能并没有什么意义.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值