国产实时操作系统:和RT-Linux,Zephyr的实时性对比

原创 RTThread物联网操作系统 2024-08-20 16:43

RT-Thread

在工业领域、高安全高可靠性领域,实时操作系统在其中发挥着重要的作用,从毫秒级,微秒级实时响应,决定着装置系统能满足何种严苛的要求。


RT-Thread Smart操作系统是一套基于RT-Thread内核,并具备POSIX用户态运行环境的高性能实时操作系统。它类似Linux、Windows的架构,具备用户态和内核态(并相分离),用户态具备全地址空间(进程模型),启用了A核芯片中的MMU,多级页表,实现了在A核SoC大芯片上的实时控制系统。


RT-Thread Smart在具备POSIX用户态运行环境后,其实时性如何,和一般的RTOS相比,和通用的带实时补丁Linux操作系统相比,它的实时性能力到底如何。希望通过本文的测试给到大家一个对比认识。

测试平台


所有测试基于相同的一块瑞芯微 RK3566开发板,RK3566携带四核 64 位高性能 ARM Cortex-A55 处理器,主频 1.8GHz,4GB LPDDR4X 内存。


RT-Thread 内核基于开源主线仓库 master 分支,平台 SDK 基于 RT-Thread Smart 专业版本,使用 gcc 工具链,优化等级 O2。


Linux-RT 内核版本基于 linux-orangepi 仓库 orange-pi-5.10-rk35xx-rt 分支,5.10内核版本并已经开启了实时补丁选项。


Zephyr内核版本基于开源主线仓库master分支,commit:7a492d308828b928074816c49d38de18b4dcfbb4, 编译优化等级通过 Kconfig 配置为 O2。


RTOS 实时性能测试工具

首先是传统的实时操作系统测试对比,对比的另一实时操作系统选择的是Zephyr实时操作系统,都运行在4核SMP模式下进行测试。本次测试工具选择相同的测试用例代码,用于衡量不同的压力负载下的 RTOS 综合实时性能指标。

指标由以下三个部分构成:中断响应时延 + 异步通知时延 + 实时任务调度时延。这三个部分加起来的时间越短越好,同时多次测量的值分布越集中越好。

测试用例实现方式是在一个实时任务上通过高精度定时器设定一个时延,并挂起该任务。在中断到来时,通过同步原语通知实时任务异步事件到来,并唤醒。然后计算这段时间相对于期望时延的差值,得到这期间的时延数据。通过多次采样,施加不同的压力负载,获得 RTOS 在不同情况下的实时性能指标情况。压力负载则模拟 cpu、中断响应、访存操作。

RTOS 实时性测试结果对比

点击放大🔍查看更清晰

测试分成了4种情况:

● 无压力负载时测试数据,类似于其他都不运行,而是空跑;

● CPU计算负荷下的测试数据,使用 Dhrystone 测试 CPU 负载,它是一种典型的整数运算基准程序,用于模拟高强度的计算场景,以评估系统在繁忙时的实时响应能力。

● IO/中断负荷下的测试数据,通过 IPI(Inter-Processor Interrupts)生成大量中断请求,测试系统在执行 IO 操作处理高频中断场景下的实时性能。

● 内存负荷下的测试数据,使用 MBW 测试工具进行内存带宽压力测试,模拟大规模数据传输的场景,考察系统在内存资源紧张时的实时响应情况。

通过上述结果可以发现:RT-Thread Smart基本指标在2.4us的延迟,当IO/中断,CPU计算负荷,内存负荷上去时,最大延迟会上升到8us附近。而Zephyr实时操作系统在一些极限点上延迟会到15us,甚至略显夸张的525us(还好不是1ms❗)。

cyclictest测试

cyclictest是Linux上非常流行、常见的实时性测试工具,它通过使用高精度定时器来测量两个时间点的延时:


cyclictest 源码来自项目 rt-tests release v1.0,参考官方 wiki :

https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start

它编译出来是一份用户态测试程序,这份代码在Linux,RT-Thread Smart上都不需要进行修改,直接通过gcc交叉工具链采用O2优化选项进行编译即可。

Linux 测试使用命令:cyclictest -p 95 -d 0 -i 1000 -D 10m -m -n --histogram=100

rt-smart 测试使用命令:cyclictest -d 0 -i 1000 -D 10m -m -n --histogram=20(Linux 优先级规则与 rt-thread 不同,保证 cyclictest 是系统中最高优先级任务即可)

cpu 负载:在后台启动 dhrystone 任务。通过 top 命令观察,每个核启动一个时 cpu 占用率峰值可以达到 99.7% 以上。

内存负载:执行 cyclictest 测试的同时,运行 mbw 任务模拟高内存负载环境。

IO 负载:执行 cyclictest 测试的同时,运行 iperf 服务,并连接客户端测试,以此模拟高网络(IO)负载环境。

cyclic 测试指标对比

点击放大🔍查看更清晰

上述是两份对比图,前面的是cyclictest的min/avg/max对比图。可以看到RT-Thread Smart的实时性表现都比较好,max值在11/12us左右,在内存负载的情况下max值会到30+us。

下面的图则是时延数据的分布情况,可以发现相对于 Linux-RT,rt-smart 下的测试指标在各类负载下的重复实验中基本上都比较集中。因此同为支持到POSIX用户态应用程序的RT-Thread Smart操作系统,相比较带实时补丁的Linux来说,它的实时性优势也是非常明显,相当于提供POSIX应用程序的同时,依然具备非常好的实时性能力。

性能优化是一个持久而漫长的过程,这个其中需要持续的定位整体系统中的性能损耗点,所以在这个过程中我们也在不断迭代、追求极致,并加入更有效的手段、工具来辅助定位及解决问题。下一篇文章,我们将介绍rt-smart上的ftrace及性能可视化等工具,来展现系统的内部系列行为,敬请期待。

欢迎大家在 RT-Thread Github 仓库或论坛上向我们反馈意见和建议。另外,如果您对参与到 RT-Thread 的平台支持(risc-v、arm、arm64 平台上的驱动、内核代码完善)、应用移植与开发、文档维护感兴趣,我们诚邀您加入 Smart 兴趣小组,参与到与 Smart 相关的开源贡献中。

扫码申请加入兴趣小组

——————End——————



👇 点击阅读原文进入官网

RTThread物联网操作系统 帮助您了解RT-Thread相关的资讯.
评论
  • 晶台光耦KL817和KL3053在小家电产品(如微波炉等)辅助电源中的广泛应用。具备小功率、高性能、高度集成以及低待机功耗的特点,同时支持宽输入电压范围。▲光耦在实物应用中的产品图其一次侧集成了交流电压过零检测与信号输出功能,该功能产生的过零信号可用于精确控制继电器、可控硅等器件的过零开关动作,从而有效减小开关应力,显著提升器件的使用寿命。通过高度的集成化和先进的控制技术,该电源大幅减少了所需的外围器件数量,不仅降低了系统成本和体积,还进一步增强了整体的可靠性。▲电路示意图该电路的过零检测信号由
    晶台光耦 2025-01-16 10:12 36浏览
  • 电竞鼠标应用环境与客户需求电竞行业近年来发展迅速,「鼠标延迟」已成为决定游戏体验与比赛结果的关键因素。从技术角度来看,传统鼠标的延迟大约为20毫秒,入门级电竞鼠标通常为5毫秒,而高阶电竞鼠标的延迟可降低至仅2毫秒。这些差异看似微小,但在竞技激烈的游戏中,尤其在对反应和速度要求极高的场景中,每一毫秒的优化都可能带来致胜的优势。电竞比赛的普及促使玩家更加渴望降低鼠标延迟以提升竞技表现。他们希望通过精确的测试,了解不同操作系统与设定对延迟的具体影响,并寻求最佳配置方案来获得竞技优势。这样的需求推动市场
    百佳泰测试实验室 2025-01-16 15:45 39浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(SIX:AMS)近日宣布,与汽车技术领先者法雷奥合作,采用创新的开放系统协议(OSP)技术,旨在改变汽车内饰照明方式,革新汽车行业座舱照明理念。结合艾迈斯欧司朗开创性的OSIRE® E3731i智能LED和法雷奥的动态环境照明系统,两家公司将为车辆内饰设计和功能设立一套全新标准。汽车内饰照明的作用日益凸显,座舱设计的主流趋势应满足终端用户的需求:即易于使用、个性化,并能提供符合用户生活方式的清晰信息。因此,动态环境照明带来了众多新机遇。智能LED的应用已
    艾迈斯欧司朗 2025-01-15 19:00 46浏览
  • 数字隔离芯片是现代电气工程师在进行电路设计时所必须考虑的一种电子元件,主要用于保护低压控制电路中敏感电子设备的稳定运行与操作人员的人身安全。其不仅能隔离两个或多个高低压回路之间的电气联系,还能防止漏电流、共模噪声与浪涌等干扰信号的传播,有效增强电路间信号传输的抗干扰能力,同时提升电子系统的电磁兼容性与通信稳定性。容耦隔离芯片的典型应用原理图值得一提的是,在电子电路中引入隔离措施会带来传输延迟、功耗增加、成本增加与尺寸增加等问题,而数字隔离芯片的目标就是尽可能消除这些不利影响,同时满足安全法规的要
    华普微HOPERF 2025-01-15 09:48 117浏览
  • 随着智慧科技的快速发展,智能显示器的生态圈应用变得越来越丰富多元,智能显示器不仅仅是传统的显示设备,透过结合人工智能(AI)和语音助理,它还可以成为家庭、办公室和商业环境中的核心互动接口。提供多元且个性化的服务,如智能家居控制、影音串流拨放、实时信息显示等,极大提升了使用体验。此外,智能家居系统的整合能力也不容小觑,透过智能装置之间的无缝连接,形成了强大的多元应用生态圈。企业也利用智能显示器进行会议展示和多方远程合作,大大提高效率和互动性。Smart Display Ecosystem示意图,作
    百佳泰测试实验室 2025-01-16 15:37 33浏览
  • 一个易用且轻量化的UI可以大大提高用户的使用效率和满意度——通过快速启动、直观操作和及时反馈,帮助用户快速上手并高效完成任务;轻量化设计则可以减少资源占用,提升启动和运行速度,增强产品竞争力。LVGL(Light and Versatile Graphics Library)是一个免费开源的图形库,专为嵌入式系统设计。它以轻量级、高效和易于使用而著称,支持多种屏幕分辨率和硬件配置,并提供了丰富的GUI组件,能够帮助开发者轻松构建出美观且功能强大的用户界面。近期,飞凌嵌入式为基于NXP i.MX9
    飞凌嵌入式 2025-01-16 13:15 54浏览
  • 百佳泰特为您整理2025年1月各大Logo的最新规格信息,本月有更新信息的logo有HDMI、Wi-Fi、Bluetooth、DisplayHDR、ClearMR、Intel EVO。HDMI®▶ 2025年1月6日,HDMI Forum, Inc. 宣布即将发布HDMI规范2.2版本。新规范将支持更高的分辨率和刷新率,并提供更多高质量选项。更快的96Gbps 带宽可满足数据密集型沉浸式和虚拟应用对传输的要求,如 AR/VR/MR、空间现实和光场显示,以及各种商业应用,如大型数字标牌、医疗成像和
    百佳泰测试实验室 2025-01-16 15:41 42浏览
  • 故障现象 一辆2007款法拉利599 GTB车,搭载6.0 L V12自然吸气发动机(图1),累计行驶里程约为6万km。该车因发动机故障灯异常点亮进厂检修。 图1 发动机的布置 故障诊断接车后试车,发动机怠速轻微抖动,发动机故障灯长亮。用故障检测仪检测,发现发动机控制单元(NCM)中存储有故障代码“P0300 多缸失火”“P0309 气缸9失火”“P0307 气缸7失火”,初步判断发动机存在失火故障。考虑到该车使用年数较长,决定先使用虹科Pico汽车示波器进行相对压缩测试,以
    虹科Pico汽车示波器 2025-01-15 17:30 36浏览
  • 近期,智能家居领域Matter标准的制定者,全球最具影响力的科技联盟之一,连接标准联盟(Connectivity Standards Alliance,简称CSA)“利好”频出,不仅为智能家居领域的设备制造商们提供了更为快速便捷的Matter认证流程,而且苹果、三星与谷歌等智能家居平台厂商都表示会接纳CSA的Matter认证体系,并计划将其整合至各自的“Works with”项目中。那么,在本轮“利好”背景下,智能家居的设备制造商们该如何捉住机会,“掘金”万亿市场呢?重认证快通道计划,为家居设备
    华普微HOPERF 2025-01-16 10:22 64浏览
  • 实用性高值得收藏!! (时源芯微)时源专注于EMC整改与服务,配备完整器件 TVS全称Transient Voltage Suppre,亦称TVS管、瞬态抑制二极管等,有单向和双向之分。单向TVS 一般应用于直流供电电路,双向TVS 应用于电压交变的电路。在直流电路的应用中,TVS被并联接入电路中。在电路处于正常运行状态时,TVS会保持截止状态,从而不对电路的正常工作产生任何影响。然而,一旦电路中出现异常的过电压,并且这个电压达到TVS的击穿阈值时,TVS的状态就会
    时源芯微 2025-01-16 14:23 65浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦