吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

實(shí)時(shí)系統(tǒng)Preempt RT與Xenomai之爭(zhēng)!誰(shuí)更主流,誰(shuí)更實(shí)時(shí)?

Tronlong創(chuàng)龍科技 ? 2023-07-31 16:53 ? 次閱讀

版權(quán)聲明:本文主要內(nèi)容基于“北京盟通科技有限公司”授權(quán)提供的文件,由“創(chuàng)龍科技”進(jìn)行整理得出。感謝“盟通科技”的慷慨支持,讓更多人了解Linux系統(tǒng)的“實(shí)時(shí)拓展”選擇知識(shí)。


選擇爭(zhēng)論一直存在


大家知道EtherCAT是實(shí)時(shí)現(xiàn)場(chǎng)總線技術(shù),當(dāng)我們開(kāi)發(fā)一款支持EtherCAT總線的控制器時(shí),實(shí)時(shí)操作系統(tǒng)的選擇不僅對(duì)于產(chǎn)品本身是最重要的一部分,而且對(duì)產(chǎn)品研發(fā)的整個(gè)過(guò)程也影響深遠(yuǎn)。


根據(jù)EtherCAT主站提供商Acontis公司對(duì)全球新客戶的情況統(tǒng)計(jì),選擇實(shí)時(shí)Linux系統(tǒng)的客戶比重在過(guò)去10年逐年增加,Acontis公司2019年所有新客戶中采用實(shí)時(shí)Linux作為控制器操作系統(tǒng)的比例已超過(guò)60%。


從近幾年的經(jīng)驗(yàn)中,我們注意到一些客戶對(duì)實(shí)時(shí)性的理解存在偏差和誤區(qū)。此外,對(duì)于實(shí)時(shí)Linux系統(tǒng)的選擇,主要是采用Preempt RT還是Xenomai存在大量爭(zhēng)論。結(jié)合我們?cè)谝酝?xiàng)目中的經(jīng)驗(yàn)以及實(shí)時(shí)Linux系統(tǒng)專家Jan Altenberg 2015年在Embedded Linux會(huì)議上的講演,我們整理出此文。希望可以幫助大家理解實(shí)時(shí)性,同時(shí)對(duì)在Preempt RT和Xenomai之間做出合適的選擇提供參考。


什么是“實(shí)時(shí)性”


我們?cè)诤涂蛻舻慕涣髦凶⒁獾剑糠?a target="_blank">工程師會(huì)把實(shí)時(shí)性與執(zhí)行速度或性能相混淆。Altenberg在講演中特別強(qiáng)調(diào):實(shí)時(shí)性與執(zhí)行速度和性能無(wú)關(guān)!


無(wú)論是實(shí)時(shí)操作系統(tǒng)還是實(shí)時(shí)現(xiàn)場(chǎng)總線,實(shí)時(shí)性的含義不是越快越好,而是在規(guī)定的時(shí)間內(nèi)完成任務(wù)的確定性(Determinism and Timing Guarantees)。如果我們給實(shí)時(shí)性下定義,那么實(shí)時(shí)性就是關(guān)于時(shí)間的確定性。


實(shí)時(shí)性的一個(gè)重要特點(diǎn),是在規(guī)定的時(shí)間段內(nèi)完成規(guī)定的任務(wù)。在技術(shù)討論中,有時(shí)客戶對(duì)EtherCAT協(xié)議不存在對(duì)錯(cuò)誤數(shù)據(jù)自動(dòng)重傳的機(jī)制有疑問(wèn),很顯然是忽略了實(shí)時(shí)性的這一特性。EtherCAT主站的工作原理,是按時(shí)間段(循環(huán)周期)發(fā)送數(shù)據(jù)。每個(gè)循環(huán)周期內(nèi)的過(guò)程數(shù)據(jù)(Process Data),只在這個(gè)周期內(nèi)到達(dá)從站才有意義,因此EtherCAT在協(xié)議層面不會(huì)自動(dòng)在后續(xù)周期重新發(fā)送之前周期發(fā)送失敗的過(guò)程數(shù)據(jù)。


在Embedded Linux會(huì)議講演中,Altenberg還表述了一個(gè)很有趣的觀點(diǎn),他希望大家忘掉“軟實(shí)時(shí)”(即Soft Real Time的提法),只存在實(shí)時(shí)和非實(shí)時(shí)的、確定性和非確定性的區(qū)別。能保證確定性,那就是“硬實(shí)時(shí)”(Hard Real Time)。


Xenomai和Preempt RT實(shí)現(xiàn)原理


目前,對(duì)實(shí)時(shí)Linux方案的選擇主要在Xenomai和Preempt RT之間。Xenomai是在Linux Kernel外增加獨(dú)立的微內(nèi)核的雙內(nèi)核方案,而Preempt RT是標(biāo)準(zhǔn)的單內(nèi)核實(shí)時(shí)方案。


Xenomai的實(shí)時(shí)應(yīng)用運(yùn)行在微內(nèi)核中,而把Linux系統(tǒng)作為微內(nèi)核的一個(gè)低優(yōu)先級(jí)任務(wù)。與RTAI不同,Xenomai實(shí)時(shí)性在用戶空間實(shí)現(xiàn)。當(dāng)高優(yōu)先級(jí)的實(shí)時(shí)應(yīng)用程序不在微內(nèi)核運(yùn)行時(shí),Linux才有可能獲得運(yùn)行時(shí)間。下圖是以Xenomai為代表的雙內(nèi)核方案的原理圖。


Altenberg認(rèn)為雙內(nèi)核實(shí)時(shí)方案有幾個(gè)明顯不足。首先,維護(hù)工作量大。由于Linux不是直接在硬件上運(yùn)行,因此Xenomai在維護(hù)微內(nèi)核的同時(shí)還需要維護(hù)硬件抽象層HAL層,這導(dǎo)致Xenomai的更新速度通常會(huì)比主線Linux落后一步。其次,不能使用標(biāo)準(zhǔn)C庫(kù)。Xenomai實(shí)時(shí)應(yīng)用的開(kāi)發(fā)需要特殊的工具和庫(kù)以及單獨(dú)的API


主流的實(shí)時(shí)Linux方案是基于Preempt RT的單內(nèi)核方案,通過(guò)最大限度地提高Linux內(nèi)核中的可搶占部分,使Linux本身具備實(shí)時(shí)性。下圖為Premept RT單內(nèi)核原理圖。


wKgZomTtkQGAQQwbAAFK0FhGDbo953.png

圖 2Preempt RT單內(nèi)核方案原理圖


由于大約80%的Preempt RT功能已經(jīng)融合進(jìn)Linux主線,因此任何Linux開(kāi)發(fā)者都可以使用Preempt RT的Linux內(nèi)核組件。Preempt RT不僅僅把Linux變成實(shí)時(shí)系統(tǒng),同時(shí)提高了Linux的穩(wěn)定性。Preempt RT被廣泛接受并擁有龐大的社區(qū),開(kāi)發(fā)者不需要深入了解Preempt RT,而是使用標(biāo)準(zhǔn)C庫(kù)開(kāi)發(fā)實(shí)時(shí)應(yīng)用。開(kāi)發(fā)者不需要深入了解Preempt RT,而是使用標(biāo)準(zhǔn)C庫(kù)開(kāi)發(fā)實(shí)時(shí)應(yīng)用。Preempt RT就是Linux系統(tǒng),Preempt RT的實(shí)時(shí)應(yīng)用也是Linux的應(yīng)用。


隨著剩下的20%功能逐漸融入Linux主線,未來(lái)有可能不需要在Linux安裝補(bǔ)丁程序而直接使用Preempt RT。


Xenomai和Preempt RT性能對(duì)比


實(shí)時(shí)性能最重要的指標(biāo)是延時(shí)的大小。網(wǎng)上有不少流傳很廣的文章,表示Xenomai在延遲方面有優(yōu)勢(shì)。Altenberg并不認(rèn)同這種觀點(diǎn),他認(rèn)為之所以得出這樣的結(jié)論,是對(duì)Preempt RT的錯(cuò)誤配置造成的。


為了確切證實(shí),他們的團(tuán)隊(duì)分別找了Xenomai和Preempt RT專家,在相同的硬件平臺(tái)上進(jìn)行了測(cè)試。測(cè)試對(duì)象是高負(fù)載下Xenomai和Preempt RT在延時(shí)Latency和抖動(dòng)Jitter兩個(gè)方面的表現(xiàn)情況。


Altenberg強(qiáng)調(diào)了兩點(diǎn),第一是測(cè)試的最壞結(jié)果才有意義。另外一點(diǎn)是系統(tǒng)拿到中斷后,在用戶空間的應(yīng)用響應(yīng)延時(shí)是對(duì)應(yīng)用最有意義的。


在用戶空間的測(cè)試結(jié)果,Xenomai和Preempt RT最壞延時(shí)都在90-95微秒左右。當(dāng)在Linux系統(tǒng)中只使用單核測(cè)試時(shí),Preempt RT最壞的延時(shí)只有大約80微秒,結(jié)果優(yōu)于Xenomai。


在Kernel空間延時(shí)的測(cè)試結(jié)果,Xenomai最高延時(shí)在30微秒,單核運(yùn)行Preempt RT的最高延時(shí)60微秒。如果使用FIQ快速中斷的話,Preempt RT的最壞延時(shí)也可達(dá)到30微秒,平均延時(shí)甚至到達(dá)10微秒。


專家觀點(diǎn)


盟通指出:測(cè)試表明,對(duì)于開(kāi)發(fā)人員最有意義的用戶空間內(nèi)最壞延時(shí)方面,兩種實(shí)時(shí)方案在該性能指標(biāo)上展示出近乎相同的數(shù)據(jù)。


但是Preempt RT幾乎已經(jīng)和Linux內(nèi)核主線合并,從系統(tǒng)的開(kāi)發(fā)和維護(hù)角度,Preempt RT的工作量與標(biāo)準(zhǔn)Linux相同。這使Preempt RT與Xenomai相比具備更多優(yōu)勢(shì),例如工程師開(kāi)發(fā)更簡(jiǎn)單、產(chǎn)品生命周期更長(zhǎng)、系統(tǒng)維護(hù)工作更容易等。


實(shí)時(shí)系統(tǒng)工業(yè)平臺(tái),盡在創(chuàng)龍科技


創(chuàng)龍科技很多ARM嵌入式處理器平臺(tái)已支持Preempt RT與Xenomai實(shí)時(shí)拓展,主要平臺(tái)如下。更多型號(hào)或細(xì)節(jié)內(nèi)容,歡迎與我們聯(lián)系。


wKgaomTtkQCAQN7KAAEuB5Vh9IA036.jpg

圖 3創(chuàng)龍科技Linux實(shí)時(shí)系統(tǒng)平臺(tái)支持列舉


關(guān)于盟通


北京盟通科技有限公司成立于2013年,是工業(yè)自動(dòng)化領(lǐng)域的高新技術(shù)企業(yè),公司專注于實(shí)時(shí)現(xiàn)場(chǎng)總線技術(shù)及工業(yè)通訊技術(shù)的研發(fā)、推廣及技術(shù)支持服務(wù)。依托于核心團(tuán)隊(duì)多年的海外和行業(yè)經(jīng)驗(yàn),與歐洲多家自動(dòng)化領(lǐng)域的佼佼者戰(zhàn)略合作,為客戶提供EtherCAT主站協(xié)議棧、OPC UA SDK軟件開(kāi)發(fā)包、CANopen協(xié)議棧、FSoE協(xié)議軟件、DINA功能安全模塊及現(xiàn)場(chǎng)總線設(shè)備等標(biāo)準(zhǔn)和定制化產(chǎn)品,也可提供工業(yè)4.0框架內(nèi)完整的通訊解決方案。


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

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210411
  • 實(shí)時(shí)系統(tǒng)

    關(guān)注

    0

    文章

    38

    瀏覽量

    14519
  • Xenomai
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7997
  • preempt-rt
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    1714
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EC-Master 支持 Xenomai 4 了!實(shí)時(shí)性與可靠性再升級(jí)

    大家好!今天我們有一個(gè)激動(dòng)人心的消息要分享:EC-Master(實(shí)時(shí)工業(yè)控制系統(tǒng))正式支持Xenomai4!這一重大的技術(shù)更新標(biāo)志著EC-Master在實(shí)時(shí)性、可靠性以及性能方面的再次
    的頭像 發(fā)表于 01-16 15:54 ?169次閱讀
    EC-Master 支持 <b class='flag-5'>Xenomai</b> 4 了!<b class='flag-5'>實(shí)時(shí)</b>性與可靠性再升級(jí)

    迅為RK3588開(kāi)發(fā)板實(shí)時(shí)系統(tǒng)編譯-Preemption系統(tǒng)/ Xenomai系統(tǒng)編譯-獲取Linux源碼包

    【iTOP-RK3588 開(kāi)發(fā)板】開(kāi)發(fā)資料\\\\10_實(shí)時(shí)系統(tǒng)配套資料\\\\01_Preemption 實(shí)時(shí)系統(tǒng)源碼”。Xenomai
    發(fā)表于 01-09 11:03

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

    RT-Thread在工業(yè)領(lǐng)域、高安全高可靠性領(lǐng)域,實(shí)時(shí)操作系統(tǒng)在其中發(fā)揮著重要的作用,從毫秒級(jí),微秒級(jí)實(shí)時(shí)響應(yīng),決定著裝置系統(tǒng)能滿足何種嚴(yán)苛
    的頭像 發(fā)表于 11-12 01:07 ?1240次閱讀
    國(guó)產(chǎn)<b class='flag-5'>實(shí)時(shí)</b>操作<b class='flag-5'>系統(tǒng)</b>:和<b class='flag-5'>RT</b>-Linux,Zephyr的<b class='flag-5'>實(shí)時(shí)</b>性對(duì)比

    迅為RK3568開(kāi)發(fā)板支持銀河麒麟和開(kāi)放麒麟系統(tǒng)

    迅為在RK3568開(kāi)發(fā)板移植了銀河麒麟和開(kāi)放麒麟系統(tǒng)HOT 新增RT-Thread系統(tǒng) iTOP-RK3568開(kāi)發(fā)板支持了Preemption和Xenomai
    發(fā)表于 11-06 14:44

    迅為瑞芯微RK3568開(kāi)發(fā)板/核心板《iTOP-3568開(kāi)發(fā)板實(shí)時(shí)系統(tǒng)使用手冊(cè)》

    iTOP-RK3568開(kāi)發(fā)板使用手冊(cè)上新,后續(xù)資料會(huì)不斷更新,不斷完善,幫助用戶快速入門,大大提升研發(fā)速度。 iTOP-RK3568開(kāi)發(fā)板支持了Preemption和Xenomai實(shí)時(shí)系統(tǒng)
    發(fā)表于 10-31 09:53

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

    航電實(shí)時(shí)測(cè)試系統(tǒng)主要應(yīng)用于航空座艙的實(shí)時(shí)測(cè)試。座艙測(cè)試過(guò)程中,輸入和輸出信號(hào)的實(shí)時(shí)性至關(guān)重要,尤其是在多任務(wù)操作時(shí),必須保證系統(tǒng)穩(wěn)定的loo
    的頭像 發(fā)表于 10-23 15:34 ?322次閱讀
    航電<b class='flag-5'>實(shí)時(shí)</b>測(cè)試<b class='flag-5'>系統(tǒng)</b>解決方案

    迅為RK3568開(kāi)發(fā)板/核心板助力實(shí)時(shí)系統(tǒng)

    iTOP-RK3568開(kāi)發(fā)板使用手冊(cè)上新,后續(xù)資料會(huì)不斷更新,不斷完善,幫助用戶快速入門,大大提升研發(fā)速度。 iTOP-RK3568開(kāi)發(fā)板支持了Preemption和Xenomai實(shí)時(shí)系統(tǒng)
    發(fā)表于 09-26 11:29

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

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

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

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

    PROFINET實(shí)時(shí)性分析-RT與IRT區(qū)別

    1、引言 在工業(yè)自動(dòng)化領(lǐng)域,尤其在基于以太網(wǎng)的通信協(xié)議中,PROFINET作為一種高性能、開(kāi)放且靈活的工業(yè)以太網(wǎng)標(biāo)準(zhǔn),備受青睞。其中,PROFINET RT實(shí)時(shí))和IRT(等時(shí)實(shí)時(shí))是其針對(duì)
    的頭像 發(fā)表于 06-12 13:37 ?2635次閱讀
    PROFINET<b class='flag-5'>實(shí)時(shí)</b>性分析-<b class='flag-5'>RT</b>與IRT區(qū)別

    基于全志T507-H的Linux-RT實(shí)時(shí)性測(cè)試案例分享

    內(nèi)核開(kāi)源、免費(fèi)、功能完善。 RT PREEMPT補(bǔ)丁,使Linux內(nèi)核成為硬實(shí)時(shí)操作系統(tǒng),無(wú)需完整的內(nèi)核重寫(xiě)。 既有實(shí)時(shí)性,又有相同的開(kāi)發(fā)
    發(fā)表于 06-03 09:50

    實(shí)時(shí)操作系統(tǒng)RT-Thread及FreeRTOS

    RT-Thread與其他很多RTOS如FreeRTOS的主要區(qū)別之一是,它不僅僅是一個(gè)實(shí)時(shí)內(nèi)核,還具備豐富的中間層組件,如下圖所示。FreeRTOS和RT-Thread是兩種常見(jiàn)的嵌入式實(shí)時(shí)
    的頭像 發(fā)表于 05-29 08:10 ?4111次閱讀
    <b class='flag-5'>實(shí)時(shí)</b>操作<b class='flag-5'>系統(tǒng)</b>之<b class='flag-5'>RT</b>-Thread及FreeRTOS

    新書(shū)發(fā)布——《實(shí)時(shí)操作系統(tǒng)應(yīng)用技術(shù):RT-Thread與ARM編程實(shí)踐》

    RT-Thread又一本新書(shū)《實(shí)時(shí)操作系統(tǒng)應(yīng)用技術(shù)——基于RT-Thread與ARM的編程實(shí)踐》發(fā)布,標(biāo)志著RT-Thread生態(tài)和
    的頭像 發(fā)表于 05-11 08:35 ?880次閱讀
    新書(shū)發(fā)布——《<b class='flag-5'>實(shí)時(shí)</b>操作<b class='flag-5'>系統(tǒng)</b>應(yīng)用技術(shù):<b class='flag-5'>RT</b>-Thread與ARM編程實(shí)踐》

    帶你認(rèn)識(shí)實(shí)時(shí)操作系統(tǒng)(rtos)

    操作系統(tǒng)與傳統(tǒng)的操作系統(tǒng)相比,它注重于實(shí)時(shí)性能的保證,確保系統(tǒng)能夠在嚴(yán)格的時(shí)間限制條件下準(zhǔn)確及時(shí)的響應(yīng)處理。
    的頭像 發(fā)表于 04-16 16:30 ?1433次閱讀
    帶你認(rèn)識(shí)<b class='flag-5'>實(shí)時(shí)</b>操作<b class='flag-5'>系統(tǒng)</b>(rtos)

    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) Linux 內(nèi)核

    盟通技術(shù)干貨構(gòu)建實(shí)時(shí)Linux內(nèi)核簡(jiǎn)介盟通技術(shù)干貨Motrotech如果需要在Linux中實(shí)現(xiàn)實(shí)時(shí)計(jì)算性能,進(jìn)而有效地將Linux轉(zhuǎn)變?yōu)镽TOS,那么大多數(shù)發(fā)行版都可以打上名為PREEMPT_RT
    的頭像 發(fā)表于 04-12 08:36 ?2762次閱讀
    使用 <b class='flag-5'>PREEMPT_RT</b> 在 Ubuntu 中構(gòu)建<b class='flag-5'>實(shí)時(shí)</b> Linux 內(nèi)核
    百家乐机械图片| 大发888官网游| 香港百家乐赌城| 网上百家乐导航| 现金百家乐伟易博| 百家乐官网平注法到| 法拉利百家乐官网的玩法技巧和规则| 百家乐官网龙虎| 百家乐官网平投注法| 波音网百家乐官网合作| 博野县| 霍邱县| 缅甸百家乐官网网站| 百家乐长龙如何判断| 百家乐经验在哪找| 川宜百家乐破解版| 关于百家乐切入点| 百家乐洗码方法| 百家乐实时路单| 百家乐神仙道礼包| 百家乐如何投注技巧| 百家乐盛大娱乐城城| 网上百家乐网站导航| 游戏厅百家乐技巧| 澳门百家乐洗码提成查询| 大丰收娱乐城开户| 大玩家娱乐城| 岳池县| 百家乐官网休闲游戏| 行唐县| 沙龙百家乐官网怎申请| 百家乐官网现场新全讯网| 单双和百家乐官网游戏机厂家| 百家乐官网开户百家乐官网技巧| 百家乐官网鸿泰棋牌| 百家乐官网出千的高科技| 杭州百家乐官网西园| 百家乐官网注码法| 百家乐官网打劫法| 国美百家乐官网的玩法技巧和规则| 优博百家乐官网的玩法技巧和规则 |