0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

國產(chǎn)實時操作系統(tǒng):和RT-Linux,Zephyr的實時性對比

RT-Thread官方賬號 ? 2024-11-12 01:07 ? 次閱讀

在工業(yè)領(lǐng)域、高安全高可靠性領(lǐng)域,實時操作系統(tǒng)在其中發(fā)揮著重要的作用,從毫秒級,微秒級實時響應(yīng),決定著裝置系統(tǒng)能滿足何種嚴(yán)苛的要求。


RT-Thread Smart操作系統(tǒng)是一套基于RT-Thread內(nèi)核,并具備POSIX用戶態(tài)運行環(huán)境的高性能實時操作系統(tǒng)。它類似Linux、Windows的架構(gòu),具備用戶態(tài)和內(nèi)核態(tài)(并相分離),用戶態(tài)具備全地址空間(進程模型),啟用了A核芯片中的MMU,多級頁表,實現(xiàn)了在A核SoC大芯片上的實時控制系統(tǒng)。


RT-Thread Smart在具備POSIX用戶態(tài)運行環(huán)境后,其實時性如何,和一般的RTOS相比,和通用的帶實時補丁Linux操作系統(tǒng)相比,它的實時性能力到底如何。希望通過本文的測試給到大家一個對比認(rèn)識。

測試平臺

所有測試基于相同的一塊瑞芯微 RK3566開發(fā)板,RK3566攜帶四核 64 位高性能 ARM Cortex-A55 處理器,主頻 1.8GHz,4GB LPDDR4X 內(nèi)存。


RT-Thread 內(nèi)核基于開源主線倉庫 master 分支,平臺 SDK 基于 RT-Thread Smart 專業(yè)版本,使用 gcc 工具鏈,優(yōu)化等級 O2。


Linux-RT 內(nèi)核版本基于 linux-orangepi 倉庫 orange-pi-5.10-rk35xx-rt 分支,5.10內(nèi)核版本并已經(jīng)開啟了實時補丁選項。


Zephyr內(nèi)核版本基于開源主線倉庫master分支,commit:7a492d308828b928074816c49d38de18b4dcfbb4, 編譯優(yōu)化等級通過 Kconfig 配置為 O2。

RTOS 實時性能測試工具

首先是傳統(tǒng)的實時操作系統(tǒng)測試對比,對比的另一實時操作系統(tǒng)選擇的是Zephyr實時操作系統(tǒng),都運行在4核SMP模式下進行測試。本次測試工具選擇相同的測試用例代碼,用于衡量不同的壓力負(fù)載下的 RTOS 綜合實時性能指標(biāo)。

指標(biāo)由以下三個部分構(gòu)成:中斷響應(yīng)時延 + 異步通知時延 + 實時任務(wù)調(diào)度時延。這三個部分加起來的時間越短越好,同時多次測量的值分布越集中越好。

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

測試用例實現(xiàn)方式是在一個實時任務(wù)上通過高精度定時器設(shè)定一個時延,并掛起該任務(wù)。在中斷到來時,通過同步原語通知實時任務(wù)異步事件到來,并喚醒。然后計算這段時間相對于期望時延的差值,得到這期間的時延數(shù)據(jù)。通過多次采樣,施加不同的壓力負(fù)載,獲得 RTOS 在不同情況下的實時性能指標(biāo)情況。壓力負(fù)載則模擬 cpu、中斷響應(yīng)、訪存操作。

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

RTOS 實時性測試結(jié)果對比

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

點擊放大查看更清晰

測試分成了4種情況:

●無壓力負(fù)載時測試數(shù)據(jù),類似于其他都不運行,而是空跑;

● CPU計算負(fù)荷下的測試數(shù)據(jù),使用 Dhrystone 測試 CPU 負(fù)載,它是一種典型的整數(shù)運算基準(zhǔn)程序,用于模擬高強度的計算場景,以評估系統(tǒng)在繁忙時的實時響應(yīng)能力。

● IO/中斷負(fù)荷下的測試數(shù)據(jù),通過 IPI(Inter-Processor Interrupts)生成大量中斷請求,測試系統(tǒng)在執(zhí)行 IO 操作處理高頻中斷場景下的實時性能。

●內(nèi)存負(fù)荷下的測試數(shù)據(jù),使用 MBW 測試工具進行內(nèi)存帶寬壓力測試,模擬大規(guī)模數(shù)據(jù)傳輸?shù)膱鼍?,考察系統(tǒng)在內(nèi)存資源緊張時的實時響應(yīng)情況。

通過上述結(jié)果可以發(fā)現(xiàn):RT-Thread Smart基本指標(biāo)在2.4us的延遲,當(dāng)IO/中斷,CPU計算負(fù)荷,內(nèi)存負(fù)荷上去時,最大延遲會上升到8us附近。而Zephyr實時操作系統(tǒng)在一些極限點上延遲會到15us,甚至略顯夸張的525us(還好不是1ms)。

cyclictest測試

cyclictest是Linux上非常流行、常見的實時性測試工具,它通過使用高精度定時器來測量兩個時間點的延時:

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

它編譯出來是一份用戶態(tài)測試程序,這份代碼在Linux,RT-Thread Smart上都不需要進行修改,直接通過gcc交叉工具鏈采用O2優(yōu)化選項進行編譯即可。

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 優(yōu)先級規(guī)則與 rt-thread 不同,保證 cyclictest 是系統(tǒng)中最高優(yōu)先級任務(wù)即可)

cpu 負(fù)載:在后臺啟動 dhrystone 任務(wù)。通過 top 命令觀察,每個核啟動一個時 cpu 占用率峰值可以達(dá)到 99.7% 以上。

內(nèi)存負(fù)載:執(zhí)行 cyclictest 測試的同時,運行 mbw 任務(wù)模擬高內(nèi)存負(fù)載環(huán)境。

IO 負(fù)載:執(zhí)行 cyclictest 測試的同時,運行 iperf 服務(wù),并連接客戶端測試,以此模擬高網(wǎng)絡(luò)(IO)負(fù)載環(huán)境。

cyclic 測試指標(biāo)對比

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

點擊放大查看更清晰

上述是兩份對比圖,前面的是cyclictest的min/avg/max對比圖??梢钥吹絉T-Thread Smart的實時性表現(xiàn)都比較好,max值在11/12us左右,在內(nèi)存負(fù)載的情況下max值會到30+us。

下面的圖則是時延數(shù)據(jù)的分布情況,可以發(fā)現(xiàn)相對于 Linux-RT,rt-smart 下的測試指標(biāo)在各類負(fù)載下的重復(fù)實驗中基本上都比較集中。因此同為支持到POSIX用戶態(tài)應(yīng)用程序的RT-Thread Smart操作系統(tǒng),相比較帶實時補丁的Linux來說,它的實時性優(yōu)勢也是非常明顯,相當(dāng)于提供POSIX應(yīng)用程序的同時,依然具備非常好的實時性能力。

性能優(yōu)化是一個持久而漫長的過程,這個其中需要持續(xù)的定位整體系統(tǒng)中的性能損耗點,所以在這個過程中我們也在不斷迭代、追求極致,并加入更有效的手段、工具來輔助定位及解決問題。下一篇文章,我們將介紹rt-smart上的ftrace及性能可視化等工具,來展現(xiàn)系統(tǒng)的內(nèi)部系列行為,敬請期待。

歡迎大家在 RT-Thread Github 倉庫或論壇上向我們反饋意見和建議。另外,如果您對參與到 RT-Thread 的平臺支持(risc-v、arm、arm64 平臺上的驅(qū)動、內(nèi)核代碼完善)、應(yīng)用移植與開發(fā)、文檔維護感興趣,我們誠邀您加入 Smart 興趣小組,參與到與 Smart 相關(guān)的開源貢獻中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7095

    瀏覽量

    124968
  • RT-Linux
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    6310
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    6235
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    觸覺智能RK3506核心板,工業(yè)應(yīng)用之RK3506 RT-Linux實時測試

    觸覺智能RK3506核心板,工業(yè)應(yīng)用方案分享之RT-Linux實時測試
    的頭像 發(fā)表于 04-27 19:27 ?279次閱讀
    觸覺智能RK3506核心板,工業(yè)應(yīng)用之RK3506 <b class='flag-5'>RT-Linux</b><b class='flag-5'>實時</b><b class='flag-5'>性</b>測試

    什么樣的才叫實時工業(yè)操作系統(tǒng)

    實時工業(yè)操作系統(tǒng)的核心是在嚴(yán)格時間約束下保證任務(wù)執(zhí)行的確定性、可靠和安全,通常需通過專用架構(gòu)、實時調(diào)度算法和工業(yè)級認(rèn)證來滿足嚴(yán)苛的工業(yè)環(huán)
    的頭像 發(fā)表于 04-17 10:09 ?216次閱讀
    什么樣的才叫<b class='flag-5'>實時</b>工業(yè)<b class='flag-5'>操作系統(tǒng)</b>

    鴻道Intewell操作系統(tǒng)Linux實時拓展方案

    鴻道Intewell操作系統(tǒng)是科東軟件自主研發(fā)的新型工業(yè)實時操作系統(tǒng),歷經(jīng)30多年研發(fā)積累,采用業(yè)界領(lǐng)先的微內(nèi)核架構(gòu),具備高實時、高安全及強擴展的特性,是目前國內(nèi)唯一通過汽車、工業(yè)控制
    的頭像 發(fā)表于 02-27 10:08 ?335次閱讀
    鴻道Intewell<b class='flag-5'>操作系統(tǒng)</b>的<b class='flag-5'>Linux</b><b class='flag-5'>實時</b>拓展方案

    基于國產(chǎn)化鴻道Intewell操作系統(tǒng)的高性能實時運動控制解決方案

    目前國產(chǎn)化高實時運動控制達(dá)到了什么樣的控制水平呢?軟件+操作系統(tǒng)實時控制如何實現(xiàn)呢?下面,讓我們一起看看基于國產(chǎn)化鴻道Intewell
    的頭像 發(fā)表于 12-05 16:03 ?403次閱讀

    linux實時系統(tǒng)還是分時操作系統(tǒng)

    系統(tǒng)就難以滿足實時性需求,但是目前linux社區(qū)已經(jīng)增加了較多版本的實時補丁,給linux內(nèi)核
    的頭像 發(fā)表于 11-11 11:43 ?1089次閱讀

    工控重磅|望獲實時Linux適配AnyControl,大大提升高級控制+實時

    操作系統(tǒng)+軟件PLC的解決方案得到了廣泛關(guān)注。 ? ?望獲實時Linux是一款嵌入式實時操作系統(tǒng),針對工業(yè)控制場景進行了定制優(yōu)化,提升
    的頭像 發(fā)表于 11-08 10:30 ?793次閱讀
    工控重磅|望獲<b class='flag-5'>實時</b><b class='flag-5'>Linux</b>適配AnyControl,大大提升高級控制+<b class='flag-5'>實時</b><b class='flag-5'>性</b>

    混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統(tǒng)

    RT-Thread介紹 RT-Thread 是一個高安全、實時操作系統(tǒng),廣泛應(yīng)用于任務(wù)關(guān)鍵
    發(fā)表于 11-01 10:31

    航電實時測試系統(tǒng)解決方案

    航電實時測試系統(tǒng)主要應(yīng)用于航空座艙的實時測試。座艙測試過程中,輸入和輸出信號的實時至關(guān)重要,尤其是在多任務(wù)
    的頭像 發(fā)表于 10-23 15:34 ?627次閱讀
    航電<b class='flag-5'>實時</b>測試<b class='flag-5'>系統(tǒng)</b>解決方案

    混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統(tǒng)

    RT-Thread介紹 RT-Thread 是一個高安全、實時操作系統(tǒng),廣泛應(yīng)用于任務(wù)關(guān)鍵
    發(fā)表于 09-18 10:54

    新書發(fā)布——《RT-Thread嵌入式實時操作系統(tǒng)內(nèi)核、驅(qū)動和應(yīng)用開發(fā)技術(shù)》

    我們非常高興地宣布,由鄭苗秀、沈鴻飛和廖建尚編著的《RT-Thread嵌入式實時操作系統(tǒng)內(nèi)核、驅(qū)動和應(yīng)用開發(fā)技術(shù)》一書正式發(fā)布。本書的編寫團隊由多位在嵌入式和實時
    的頭像 發(fā)表于 09-03 08:06 ?1173次閱讀
    新書發(fā)布——《<b class='flag-5'>RT</b>-Thread嵌入式<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>內(nèi)核、驅(qū)動和應(yīng)用開發(fā)技術(shù)》

    簡單認(rèn)識RTOS實時操作系統(tǒng)

    RTOS(Real Time Operating System,實時操作系統(tǒng))是一種專門設(shè)計用于在嚴(yán)格時間限制內(nèi)處理任務(wù)的操作系統(tǒng)。它以其高實時
    的頭像 發(fā)表于 08-20 11:20 ?4852次閱讀

    實測14us,Linux-RT實時性能及開發(fā)案例分享—基于全志T507-H國產(chǎn)平臺

    龍科技提供的案例用戶手冊進行操作,使用Cyclictest程序測試系統(tǒng)實時,得出如下測試結(jié)果。 圖2 Linux-RT-4.9.170內(nèi)核
    發(fā)表于 07-25 15:58

    3568F-麒麟KylinOS國產(chǎn)操作系統(tǒng)演示案例

    、安全、實時、互聯(lián)的需求。銀河麒麟嵌入式操作 系統(tǒng)V10以
    發(fā)表于 07-25 15:55

    3568F-翼輝SylixOS國產(chǎn)操作系統(tǒng)演示案例

    等。 SylixOS、RT-Linux、Xenomai系統(tǒng)實時和抖動官方對比數(shù)據(jù)如下圖所示,詳情請 查閱產(chǎn)品資料“4-軟件資料SyliO
    發(fā)表于 07-25 15:52

    工業(yè)實時操作系統(tǒng)對比:鴻道Intewell跟rt-linux有啥區(qū)別

    Intewell和RT-Linux是兩種不同的實時操作系統(tǒng)(RTOS),它們具有各自獨特的特點和優(yōu)勢。以下是Intewell操作系統(tǒng)的一些關(guān)鍵特性,以及與
    的頭像 發(fā)表于 07-03 10:00 ?862次閱讀
    工業(yè)<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>對比</b>:鴻道Intewell跟<b class='flag-5'>rt-linux</b>有啥區(qū)別

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品