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

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

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

幾種基于Linux的硬實時解決方案

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2022-04-19 14:49 ? 次閱讀

Linux系統(tǒng)作為一個GPOS(通用操作系統(tǒng))發(fā)展至今已經(jīng)非常成熟可靠了,并且由于遵循GPL協(xié)議,開放所有系統(tǒng)源代碼,非常易于裁剪。更重要的是,與其他開源的GPOS或RTOS相比,Linux系統(tǒng)支持多種處理器、開發(fā)板,提供多種軟件開發(fā)工具,同時Linux系統(tǒng)對網(wǎng)絡(luò)和圖形界面的支持非常出色。顯然,選擇Linux操作系統(tǒng)在產(chǎn)品的開發(fā)周期和成本控制方面都有巨大優(yōu)勢。

雖然Linux系統(tǒng)功能強大、實用性強、易于軟件的二次開發(fā),并且提供編程人員熟悉的標(biāo)準(zhǔn)API。但是由于Linux系統(tǒng)一開始就被設(shè)計成GPOS(通用操作系統(tǒng)),它的目的是構(gòu)建一個完整、穩(wěn)定的開源操作系統(tǒng),盡量縮短系統(tǒng)的平均響應(yīng)時間,提高吞吐量,注重操作系統(tǒng)的整體功能需求,達到更好地平均性能。所以標(biāo)準(zhǔn)Linux并不提供硬實時性。

為解決linux不具有硬實時的問題,誕生了幾種基于Linux的硬實時解決方案,分為兩類:

1)直接修改Linux內(nèi)核源代碼。

對Linux內(nèi)核代碼進行細微修改并不對內(nèi)核作大規(guī)模的變動,在遵循GPL協(xié)議的情況下,直接修改內(nèi)核源代碼將Linux改造成一個完全可搶占的實時系統(tǒng)。其缺點是:通過修改Linux內(nèi)核,難以保證實時進程的執(zhí)行不會遭到非實時進程所進行的不可預(yù)測活動的干擾。該方法的代表是RT-patch(Real Preemption Patch)。

2)雙內(nèi)核法。

添加一個實時內(nèi)核,在內(nèi)核空間與linux內(nèi)核并存,把標(biāo)準(zhǔn)的Linux內(nèi)核作為一個普通進程在實時內(nèi)核上調(diào)度。其優(yōu)點是可以做到硬實時,并且能很方便地實現(xiàn)一種新的調(diào)度策略。常用的雙內(nèi)核法有RT-Linux、RTAI(Real-Time Application Interface)和 Xenomai。

雙核法具有較好的實時性。RT-Linux最早出現(xiàn),開創(chuàng)了雙核法的先河,是雙核法的代表?;谝环N成為實時硬件抽象的層技術(shù)RTHAL(Real Time Hardware Abstraction Layer),且為該技術(shù)申請了專利,后RT-Linux被WindRiver 收購并商業(yè)化,WindRiver于2011年8月徹底停止對其更新和維護,現(xiàn)在 RT-linux 已經(jīng)不再更新。

d7f88c16-bf93-11ec-9e50-dac502259ad0.png

xenomai和RTAL同樣借鑒RT-Linux,Xenomai項目始于2001年8月,Philippe GerumAdeos和Xenomai項目的創(chuàng)始人和維護者。2003年它和RTAI項目合并推出了RTAI/fusion。RTAI/fusion是Linux平臺上的具有工業(yè)生產(chǎn)級別的實時自由軟件開發(fā)平臺,它基于Xenomai的抽象實時操作系統(tǒng)內(nèi)核。2005年的時候RTAI/fusion項目又從RTAI中獨立出來作為Xenomai項目。

雖然xenomai和RTAL這兩個項目基于同一本質(zhì)的實時硬件抽象層技術(shù)ADEOS(Adoptive Domain Environment for Operating System),但是實際上他們有很多不同之處。這些不同之處主要是由他們不同的目標(biāo)和各自不同的實現(xiàn)方式造成的。RTAI項目致力于技術(shù)上可行的最低延遲;Xenomai除此之外還很看重擴展性,可移植性以及可維護性。Xenoami項目不僅提供雙核還對PREEMPT RT實時搶占補丁提供支持,這又是與RTAI項目的一個顯著的不同。

另外RT-Linux只允許以內(nèi)核模塊的形式提供實時應(yīng)用;xenomai 更注重用戶空間應(yīng)用的實時性。

幾種linux實時方案對比如下表--Linux實時性改造優(yōu)缺點對比。

性能 直接修改內(nèi)核 直接修改內(nèi)核 雙內(nèi)核 雙內(nèi)核 雙內(nèi)核
RT-patch 其他 RT-Linux RTAI xenomai
實時性 較好 較好
硬件支持 較好 一般 一般 較好
API 豐富 一般 一般 一般 豐富
維護難度
社區(qū)活躍度 較好 較差 一般 良好
用戶態(tài)實時任務(wù) 支持 支持 不支持 支持 支持
內(nèi)核實時任務(wù) 不支持 不支持 支持 支持 支持

綜上,從實時性、硬件支持、社區(qū)活躍度、API和商業(yè)版權(quán)等方面綜合考慮,xenomai無疑是Linux實時操作系統(tǒng)最好的選擇。

審核編輯 :李倩

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

    關(guān)注

    3

    文章

    1336

    瀏覽量

    40084
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207912
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122743

原文標(biāo)題:xenomai內(nèi)核解析之嵌入式實時linux概述

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    高效輕型線程對Linux實時性能有什么影響

    簡介上個世紀(jì),研發(fā)人員投入了大量精力提高Linux實時性能和行為,最著名的是PREEMPT_RT Linux實時擴展。最近,研發(fā)人員致力于研究適用于多核設(shè)備的
    發(fā)表于 05-16 10:45

    標(biāo)準(zhǔn)Linux實時性能怎么改善?

    ;為增強系統(tǒng)內(nèi)核對實時任務(wù)的響應(yīng)能力,采用插入搶占點和修改內(nèi)核法增強Linux內(nèi)核的可搶占性;為保證硬實時任務(wù)的時限要求,把原Linux的單運行隊列改為雙運行隊列,
    發(fā)表于 03-09 07:01

    多核設(shè)備中的Linux實時性能怎么提高?

    上個世紀(jì),研發(fā)人員投入了大量精力提高 Linux 實時性能和行為,最著名的是 PREEMPT_RT Linux 實時擴展。最近,研發(fā)人員致力于研究適用于多核設(shè)備的
    發(fā)表于 04-06 08:17

    請問freertos是硬實時操作系統(tǒng)嗎?

    freertos是硬實時操作系統(tǒng)嗎?都有哪些硬實時操作系統(tǒng)啊?
    發(fā)表于 06-13 09:00

    硬實時RTlinux系統(tǒng)配置

    更多技術(shù)干貨,歡迎掃碼關(guān)注博主微信公眾號:HowieXue,一起學(xué)習(xí)探討軟硬件技術(shù)知識經(jīng)驗,關(guān)注就有海量學(xué)習(xí)資料免費領(lǐng)哦:硬實時RTlinux系統(tǒng)配置1. Linux內(nèi)核下載2. 下載與Linux
    發(fā)表于 09-14 06:43

    Linux實時性能的改善措施有哪些呢

    時鐘粒度方法;為增強系統(tǒng)內(nèi)核對實時任務(wù)的響應(yīng)能力,采用插入搶占點和修改內(nèi)核法增強Linux內(nèi)核的可搶占性;為保證硬實時任務(wù)的時限要求,把原Linux的單運行隊列改為雙運行隊列,
    發(fā)表于 11-02 09:00

    基于RTAI-Linux的飛行仿真實時管理系統(tǒng)

    探討基于Linux的飛行仿真實時管理系統(tǒng)需要解決的實時控制問題。研究Linux實時擴展的開源項目RTAI及其用戶態(tài)
    發(fā)表于 04-15 09:28 ?26次下載

    基于RTlinux的硬實時性研究

    L inux若作為一個操作系統(tǒng),它無法滿足實時系統(tǒng)嚴(yán)格的實時性要求。RTlinux是在L inux內(nèi)核的下層實現(xiàn)所得的一個簡單的硬實時內(nèi)核,能夠提供很好的實時性能。闡述了
    發(fā)表于 04-24 10:30 ?10次下載

    基于RTAI的嵌入式Linux硬實時性能的研究與實現(xiàn)

    嵌入式Linux 系統(tǒng)由于不支持硬實時任務(wù),限制了其在電能質(zhì)量監(jiān)控系統(tǒng)等高實時性領(lǐng)域中的應(yīng)用。本文介紹了嵌入式Linux 系統(tǒng)的實時性,并利
    發(fā)表于 05-25 14:48 ?27次下載

    半實物仿真中的實時Linux接口技術(shù)方案

    本文主要分析了半實物仿真中對于硬實時特性的要求,以及Linux 環(huán)境下實時接口技術(shù)的應(yīng)用,包括實時操作系統(tǒng)內(nèi)核、實時I/O 設(shè)備和
    發(fā)表于 08-15 10:21 ?14次下載

    基于Xilinx ZynqUltraScale +的Linux實時加速解決方案

    Enea?(NASDAQ OMX Nordic:ENEA)宣布在上海移動世界大會上演示實時加速Linux解決方案,該解決方案適用于5G和C-RAN(Cloud-RAN)場景,并通過高效
    發(fā)表于 06-27 01:55 ?2441次閱讀
    基于Xilinx ZynqUltraScale +的<b class='flag-5'>Linux</b><b class='flag-5'>實時</b>加速<b class='flag-5'>解決方案</b>

    一種最新改進嵌入Linux實時性的新型方案

    RTAI是基于普通Linux內(nèi)核,相對于嵌入式應(yīng)用其內(nèi)核過于龐大;而uClinux本身并沒有更多地關(guān)注實時問題。因此,可以將RTAI和uClinux相結(jié)合,采用雙內(nèi)核的設(shè)計方案,既滿足了嵌入式應(yīng)用的需求,又保證了系統(tǒng)的
    發(fā)表于 04-23 15:23 ?520次閱讀
    一種最新改進嵌入<b class='flag-5'>Linux</b><b class='flag-5'>實時</b>性的新型<b class='flag-5'>方案</b>

    嵌入式Linux實時性能優(yōu)化

    時鐘粒度方法;為增強系統(tǒng)內(nèi)核對實時任務(wù)的響應(yīng)能力,采用插入搶占點和修改內(nèi)核法增強Linux內(nèi)核的可搶占性;為保證硬實時任務(wù)的時限要求,把原Linux的單運行隊列改為雙運行隊列,
    發(fā)表于 11-01 16:33 ?6次下載
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>實時</b>性能優(yōu)化

    LxWin — 一個不同的Windows實時解決方案

    LxWin 沒有使用專有的 RTOS 或實時環(huán)境,而是在 hypervisor 環(huán)境之上嵌入了 Linux 硬實時內(nèi)核。與傳統(tǒng)的實時擴展相比,hypervisor 環(huán)境至關(guān)重要,可確保
    的頭像 發(fā)表于 10-19 15:38 ?2611次閱讀

    望獲實時Linux與EtherCAT的硬實時解決方案

    望獲實時Linux與EtherCAT的強強聯(lián)合,不僅提升了工業(yè)控制系統(tǒng)的實時性和通信效率,更為工業(yè)自動化領(lǐng)域帶來了全新的發(fā)展機遇。我們相信,這一創(chuàng)新方案將引領(lǐng)工業(yè)控制走向更加智能、高效
    的頭像 發(fā)表于 08-12 10:03 ?207次閱讀
    望獲<b class='flag-5'>實時</b><b class='flag-5'>Linux</b>與EtherCAT的<b class='flag-5'>硬實時</b><b class='flag-5'>解決方案</b>