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

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为代表的双内核方案的原理图:
图1 xenomai原理图
altenberg认为双内核实时方案有几个明显不足。首先,维护工作量大。其次,xenomai不能使用标准c库,实时应用的开发需要特殊库以及单独的api。
主流的实时linux方案是基于preempt rt 的单内核方案,通过最大限度地提高linux内核中的可抢占部分,使linux本身具备实时性。如图2 premept rt原理图所示:
图2 preempt 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相比具备更多优势。


解读Gartner 2024年十大战略技术趋势
小康集团的智能工厂蕴藏大世界 部署了总共800多台自动化机器人
MAX1434 全差分输入10位模数转换器(ADC)
通信技术的发展格外重要,但通信技术也是把双刃剑
一部手机相当于两部,天翼云手机帮你实现
如何选择Linux操作系统实时扩展
食用油黄曲霉素检测仪的特点和优点是什么
卫星互联网正成为拉动经济增长新引擎 民营资本发力卫星互联网建设
高端5nm SoC的战争正式打响 骁龙888和Exynos 1080正式量产
智能防水手表将如何实现IP67级防水
在家庭自动化和控制照明系统中推动EnOcean技术
食用油酸价过氧化值检测仪保证食用油安全
算法推荐 |适用App的人脸识别算法选型及应用
跑步的时候耳机总是掉怎么办、跑步耳机推荐,佩戴稳固防水防汗
怎么选择缝合线测试仪?
磁翻板液位计冬季的保养方法
电磁炉加热自动跳停什么原因
MiniLED背光明年出货量将迎来爆发式增长
舞钢NVE690钢板(自升式平台桩腿钢板)材质成分性能说明
“蹭网”神器确实有效,但使用WiFi万能钥匙蹭网真的会泄露隐私吗?