0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

RT-Thread官方账号 2024-11-12 01:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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


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 综合实时性能指标。

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

6e6f1b30-a04f-11ef-8084-92fbcf53809c.png

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

6e844410-a04f-11ef-8084-92fbcf53809c.jpg

RTOS 实时性测试结果对比

6e9a508e-a04f-11ef-8084-92fbcf53809c.png

点击放大查看更清晰

测试分成了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上非常流行、常见的实时性测试工具,它通过使用高精度定时器来测量两个时间点的延时:

6eb62cdc-a04f-11ef-8084-92fbcf53809c.png

它编译出来是一份用户态测试程序,这份代码在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 测试指标对比

6ec6d154-a04f-11ef-8084-92fbcf53809c.png6ee63eae-a04f-11ef-8084-92fbcf53809c.png

点击放大查看更清晰

上述是两份对比图,前面的是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 相关的开源贡献中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    7436

    浏览量

    129609
  • RT-Linux
    +关注

    关注

    0

    文章

    8

    浏览量

    6432
  • Zephyr
    +关注

    关注

    1

    文章

    61

    浏览量

    6627
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国产工业操作系统选型指南:硬实时、功能安全与生态怎么选

    、能源电力等关键领域的连续运行,都离不开一款适配场景、性能过硬的工业操作系统。 当前,国产工业操作系统百花齐放,但企业选型时往往陷入“参数堆砌”的误区,忽略了硬实时性能、功能安全等级与
    的头像 发表于 03-04 09:48 1114次阅读

    米尔RK3506核心板SDK重磅升级,解锁三核A7实时控制新架构

    出来,独立运行实时操作系统RT-Thread。此架构实现了完美的任务隔离:两颗A7核运行通用Linux,处理网络、存储等复杂业务;被隔离的A7核则专司硬
    发表于 12-19 20:35

    RK3588核心板/开发板RT-Linux系统实时及硬件中断延迟测试

    本文介绍瑞芯微RK3588芯片平台RT-Linux系统实时及硬件中断延迟测试,基于触觉智能RK3588核心板/开发板演示。Linux-RT
    的头像 发表于 11-28 18:57 982次阅读
    RK3588核心板/开发板<b class='flag-5'>RT-Linux</b><b class='flag-5'>系统</b><b class='flag-5'>实时</b><b class='flag-5'>性</b>及硬件中断延迟测试

    单片机的操作系统

    Linux网络协议栈和文件系统(如JFFS2),但实时较弱,需外扩存储器。 ‌ ‌ VxWorks ‌:高效实时
    发表于 11-14 06:18

    嵌入式实时操作系统的特点

    任务的系统实时嵌入式操作系统与传统的桌面操作系统相比,更注重对实时任务的响应和精确控制。它们在资源利用、可靠
    发表于 11-13 06:30

    【好书推荐】RT-Thread第22本相关书籍!《嵌入式实时操作系统开发实践》| 技术集结

    随着物联网、智能家居与工业控制等领域的快速发展,嵌入式实时操作系统的应用愈发广泛。RT-Thread作为国产开源RTOS的代表,凭借其出色的实时
    的头像 发表于 10-16 18:46 849次阅读
    【好书推荐】<b class='flag-5'>RT</b>-Thread第22本相关书籍!《嵌入式<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>开发实践》| 技术集结

    RK3576核心板/开发板RT-Linux系统实时及硬件中断延迟测试

    本文介绍瑞芯微RK3576芯片平台RT-Linux系统实时及硬件中断延迟测试,基于触觉智能RK3576开发板PurplePiOH2演示。Linux
    的头像 发表于 09-30 16:52 2179次阅读
    RK3576核心板/开发板<b class='flag-5'>RT-Linux</b><b class='flag-5'>系统</b><b class='flag-5'>实时</b><b class='flag-5'>性</b>及硬件中断延迟测试

    瑞芯微RK35XX系列Linux实时详细测试对比( PREEMPT_RT和Xenomai )

    工业控制、工业网关、轨道交通、能源电力等场景,都需要一个运行稳定、可靠的“实时操作系统”。RT-Linux作为一款开源实时
    的头像 发表于 09-30 16:37 2115次阅读
    瑞芯微RK35XX系列<b class='flag-5'>Linux</b><b class='flag-5'>实时</b><b class='flag-5'>性</b>详细测试<b class='flag-5'>对比</b>( PREEMPT_<b class='flag-5'>RT</b>和Xenomai )

    RK3506开发板Xenomai内核RT-Linux实时系统适配教程与性能实测,实测仅7μs稳定延时

    本文基于触觉智能RK3506核心板/开发板,介绍Xenomai内核RT-Linux实时系统适配,并附性能实测。简介与实测数据Xenomai简介XEnomai是一个
    的头像 发表于 09-18 14:21 1670次阅读
    RK3506开发板Xenomai内核<b class='flag-5'>RT-Linux</b><b class='flag-5'>实时</b><b class='flag-5'>性</b><b class='flag-5'>系统</b>适配教程与性能实测,实测仅7μs稳定延时

    如何选择合适的实时操作系统

    选择合适的实时操作系统(RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
    的头像 发表于 09-09 14:47 1228次阅读

    【米尔NXP i.MX 91开发板评测】移植和运行RT-Linux实时性能测试

    介绍 实时系统应用广泛,在工业自动化、医疗设备、汽车电子等领域扮演着十分重要的角色,我们用i.MX91开发板来移植运行RT-Linux,看看它的
    发表于 09-01 10:11

    权威认证!RT-Thread操作系统100%国产自主可控,铸就睿擎工业平台安全基石​ !

    在工业自动化、电力控制、轨道交通等高端装备领域,操作系统的安全可靠与自主可控是关乎产业命脉的核心诉求。作为国产嵌入式实时操作系统(RTOS)的领军者,
    的头像 发表于 07-11 17:05 3267次阅读
    权威认证!<b class='flag-5'>RT</b>-Thread<b class='flag-5'>操作系统</b>100%<b class='flag-5'>国产</b>自主可控,铸就睿擎工业平台安全基石​ !

    一文读懂:嵌入式Linux实时进阶

    在工业控制、机器人、汽车电子等关键领域,嵌入式系统实时性要求极高。 Linux作为强大的通用操作系统,其原生实时性能难以满足最严苛的硬
    发表于 07-10 15:26

    鸿道Intewell:以创新国产实时操作系统助力多产业发展

    鸿道Intewell操作系统是一款面向工业场景的国产实时操作系统,采用弹性微内核架构,具备强实时
    的头像 发表于 07-02 15:21 696次阅读
    鸿道Intewell:以创新<b class='flag-5'>国产</b><b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>助力多产业发展

    触觉智能RK3506核心板,工业应用之RK3506 RT-Linux实时测试

    触觉智能RK3506核心板,工业应用方案分享之RT-Linux实时测试
    的头像 发表于 04-27 19:27 2245次阅读
    触觉智能RK3506核心板,工业应用之RK3506 <b class='flag-5'>RT-Linux</b><b class='flag-5'>实时</b><b class='flag-5'>性</b>测试