全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

如何选择Linux操作系统实时扩展

时间:2022-04-25 15:26

人气:

作者:admin

标签: 操作系统  Linux  以太网 

导读:为了证实,他们的团队分别找Xenomai和Preempt RT专家,在相同的硬件上进行测试。测试对象是高负载下Xenomai和Preempt RT在延时Latency和抖动Jitter的表现整个测试程序运行12个小时。...

EtherCAT是一种由Beckhoff开发的开放实时以太网技术,广泛用于对精度和实时性要求较高的运动控制设备和采集设备中。

由于我们处于特殊的位置,使我们在推广EtherCAT主站协议栈的过程中,我们经常会围绕实时Linux系统与客户展开讨论。根据EtherCAT主站提供商Acontis公司对全球新客户统计,选择实时Linux系统的客户比重在过去10年逐年增加。2019年新客户中采用实时Linux作为控制器操作系统已超过60%。

从近几年的经验中,对于实时Linux系统主要聚焦在采用RT-Preempt 还是Xenomai的争论上。结合实时Linux系统专家Jan Altenberg在Embedded Linux会议上的讲演。整理出此文,希望可以在RT-Preempt 和Xenomai之间选择做出参考。

实时性

在和客户的交流过程,部分工程师会把实时性与执行速度或性能相混淆。Altenberg在讲演中强调:实时性与执行速度和性能无关!

实时性的含义不是越快越好,而是在规定的时间内完成任务的确定性(determinismand timing guarantees)。

在技术讨论中,同样客户对EtherCAT协议不存在错误数据自动重传机制有类似疑问。

EtherCAT主站的工作原理是按循环周期发送数据。所以EtherCAT在协议层面不会自动在后续周期重新发送失败的过程数据。

在Embedded Linux会议讲演中,Altenberg还表述了一个有趣的观点,他希望大家忘掉“软实时”即Softrealtime 的提法,只存在实时和非实时的、确定性和非确定性的区别。能保证确定性,那就是“硬实时” hardrealtime。

Xenomai和Preempt RT

目前,对实时Linux方案的选择集中在Xenomai和Preempt RT之间。Xenomai是在LinuxKernel外增加独立内核的双内核方案,而Preempt RT是标准的单内核实时方案。

图1是Xenomai为代表的双内核方案的原理图:

ddc7b46a-c442-11ec-bce3-dac502259ad0.png

图1 Xenomai原理图

Altenberg认为双内核实时方案有几个明显不足。首先,维护工作量大。其次,Xenomai不能使用标准C库,实时应用的开发需要特殊库以及单独的API

主流的实时Linux方案是基于Preempt RT 的单内核方案,通过最大限度地提高Linux内核中的可抢占部分,使Linux本身具备实时性。如图2 Premept RT原理图所示:

dde12954-c442-11ec-bce3-dac502259ad0.png

图2Preempt RT原理图

大约80%的PreemptRT功能已经融合进Linux主线,所以任何Linux开发者都可以使用Preempt RT的Linux 内核组件。

随着剩下的20%功能逐渐融入Linux主线,未来有可能不需要在Linux安装补丁程序而直接使用Preempt RT。

性能比较

实时性能最重要的指标是延时。网上有不少文章,表示Xenomai在延迟方面有优势。Altenberg并不认同这种观点,他认为是对Preempt RT的错误配置造成的。

为了证实,他们的团队分别找Xenomai和Preempt RT专家,在相同的硬件上进行测试。测试对象是高负载下Xenomai和Preempt RT在延时Latency和抖动Jitter的表现整个测试程序运行12个小时。

Altenberg强调了两点,第一是测试的最坏结果才有意义;另外一点是系统拿到中断后,在用户空间的应用响应延时是对应用最有意义的。

在用户空间的测试结果,在测试中的最坏延时,Xenomai和 Preempt RT都在90-95 微秒左右。当在Linux系统中只使用单核测试时,PREEMPT RT最坏的延时只有大约80微秒,结果优于Xenomai。

在Kernel空间延时的测试结果,Xenomai最高延时在30微秒,单核运行Preempt RT的最高延时60微秒。如果使用FIQ 快速中断的话,Preempt RT的最坏延时也达到30微秒,平均延时甚至到达10微秒。

最终,对于开发人员最有意义的用户空间内最坏延时方面,两种实时方案在该性能指标上展示出近乎相同的数据。

但是Preempt RT几乎已经和Linux内核主线合并,从系统的开发和维护角度,Preempt RT的工作量与标准Linux相同。这使Preempt RT与Xenomai相比具备更多优势。

审核编辑 :李倩

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信