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

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

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

所有實時操作系統(tǒng)都是等效的嗎

要長高 ? 來源:embedded ? 作者:Jacob Beningo ? 2023-09-29 05:04 ? 次閱讀

作者:Jacob Beningo

嵌入式系統(tǒng)行業(yè)的開發(fā)人員和經(jīng)理中流傳著一個謠言,即所有RTOS都是平等的。開發(fā)團隊僅僅選擇RTOS的情況并不少見,因為他們的微控制器供應(yīng)商支持RTOS,而不是仔細檢查RTOS提供的功能和特性。檢查RTOS的特性、API、功能和陷阱經(jīng)常被忽視,甚至有時會損害應(yīng)用程序的需求。您可能從未意識到的撓癢癢問題:“所有實時操作系統(tǒng)都是等效的嗎?

對等效的需求

基本上有三種方法可以了解如何構(gòu)建嵌入式軟件。首先,開發(fā)人員在沒有RTOS或操作系統(tǒng)的情況下構(gòu)建系統(tǒng)裸機。這些通常適用于沒有很多功能或不關(guān)心重用、可移植性或可擴展性的小型嵌入式系統(tǒng)。接下來,一些團隊有一個需要可伸縮性和可重用性的系統(tǒng),但可能沒有可移植性。這些團隊將選擇一個實時操作系統(tǒng)來使用,并圍繞實時操作系統(tǒng)構(gòu)建整個應(yīng)用程序,使實時操作系統(tǒng)成為系統(tǒng)的基礎(chǔ)。

構(gòu)建系統(tǒng)的最后一種方法,也是驅(qū)動對等效的需求或愿望的方法,是復(fù)雜的現(xiàn)代系統(tǒng),并提供廣泛的功能。在許多情況下,應(yīng)用程序需要擴展、可重用和可移植。在這些情況下,團隊不能只選擇一個RTOS并圍繞它構(gòu)建他們的應(yīng)用程序。相反,他們需要一個RTOS抽象層,將其應(yīng)用程序代碼與RTOS分離,以選擇提供應(yīng)用程序所需服務(wù)和功能的任何RTOS或操作系統(tǒng)。圖 1 顯示了具有 RTOS 抽象層的分層軟件架構(gòu)示例。

wKgZomUFUviAHjTzAAELAZ0hlO0695.png

圖 1 – 現(xiàn)代系統(tǒng)將嵌入式應(yīng)用程序與 RTOS 分離,以提高重用、可移植性、可擴展性和測試。(圖片來源:嵌入式軟件設(shè)計[1])

RTOS抽象層消除了對任何RTOS或操作系統(tǒng)的依賴,從而實現(xiàn)了更好的單元測試和超目標(biāo)運行應(yīng)用程序仿真的能力!當(dāng)然,出現(xiàn)的問題是,當(dāng)團隊創(chuàng)建RTOS抽象層時,他們拼命地試圖建議所有RTOS都提供等效的功能,當(dāng)通用化時,就變成了“所有RTOS都是等效的”。

實時操作系統(tǒng)等效現(xiàn)實

不幸的是,或者幸運的是,對于嵌入式軟件架構(gòu)師和團隊來說,并非所有RTOS都是平等的。每個RTOS都可以提供一組標(biāo)準(zhǔn)功能,但即使這些功能也已實現(xiàn)并提供廣泛的差異。例如,從當(dāng)前可用的一百多個 RTOS 中選擇三個并檢查其 API 集。您會發(fā)現(xiàn)相似但差異很大的 API。

如果您花一些時間運行性能測量,您會發(fā)現(xiàn)每個RTOS都提供不同級別的實時性能和確定性。編譯每個,您會發(fā)現(xiàn)不同的內(nèi)存要求。如果您深入研究實時操作系統(tǒng),您甚至可能會發(fā)現(xiàn)可能破壞實時操作系統(tǒng)的錯誤或條件!有些在管理安全性方面寫得很好,而另一些則完全忽略了安全性是一個考慮因素。

當(dāng)我第一次接觸實時操作系統(tǒng)時,我討厭它們。我的雇主當(dāng)時提供給我的RTOS有缺陷,不一致,我花在與RTOS斗爭上的時間比編寫生產(chǎn)代碼的時間還要多。事實證明,“RTOS”并不是我們所認(rèn)為的實時操作系統(tǒng)!相反,它是一個編寫不佳的協(xié)作調(diào)度程序,包括一些RTOS功能,如信號量和隊列。

結(jié)論

歸根結(jié)底,團隊可能希望所有實時操作系統(tǒng)都是等效的,但事實仍然是每個實時操作系統(tǒng)都是獨一無二的。每個都提供具有不同內(nèi)存占用、響應(yīng)時間、API、安全性和安全功能的操作系統(tǒng)。RTOS 抽象層可以幫助嵌入式應(yīng)用與標(biāo)準(zhǔn)功能分離。不過,要充分利用 RTOS,可能需要直接調(diào)用 RTOS 或創(chuàng)建抽象擴展來管理應(yīng)用程序依賴關(guān)系。因此,下次當(dāng)您想只使用微控制器供應(yīng)商提供的RTOS運行時,請花一些時間來評估和驗證RTOS是否滿足您的需求,因為每個RTOS都是不同的,盡管它們看起來可能是等效的。

編輯:黃飛

聲明:本文內(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)注

    40

    文章

    3520

    瀏覽量

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

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122743
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1461

    瀏覽量

    61489
  • RTOS
    +關(guān)注

    關(guān)注

    20

    文章

    804

    瀏覽量

    119113
收藏 人收藏

    評論

    相關(guān)推薦

    實時操作系統(tǒng)和分時操作系統(tǒng)的區(qū)別

    操作系統(tǒng)能否滿足實時性要求來區(qū)分,可把操作系統(tǒng)分成分時操作系統(tǒng)實時操作系統(tǒng),分時操作系統(tǒng)按照
    發(fā)表于 11-14 17:39 ?1.3w次閱讀

    什么是實時操作系統(tǒng)(RTOS)

    實時操作系統(tǒng)(RTOS)是一種專為實時應(yīng)用程序設(shè)計的操作系統(tǒng)實時應(yīng)用程序需要在特定時間內(nèi)做出預(yù)測的響應(yīng),因此 RTOS 專注于提供對時間約
    的頭像 發(fā)表于 11-23 17:14 ?4542次閱讀

    詳解實時操作系統(tǒng)和非實時操作系統(tǒng)

    實時操作系統(tǒng),當(dāng)外界事件和數(shù)據(jù)產(chǎn)生時,系統(tǒng)能以足夠快的速度予以處理,其處理結(jié)果能在規(guī)定的時間內(nèi)控制生產(chǎn)結(jié)果或?qū)?b class='flag-5'>系統(tǒng)做出響應(yīng),并控制所有
    的頭像 發(fā)表于 12-26 09:54 ?3608次閱讀
    詳解<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>和非<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>

    #硬聲創(chuàng)作季 操作系統(tǒng)操作系統(tǒng)的發(fā)展:實時操作系統(tǒng)

    操作系統(tǒng)實時操作系統(tǒng)
    Mr_haohao
    發(fā)布于 :2022年10月16日 12:55:03

    NuttX實時操作系統(tǒng)

    (嵌入式 實時操作系統(tǒng) rtos nuttx 7.1)NuttX 介紹轉(zhuǎn)載請注明出處: NuttX 實時操作系統(tǒng)NuttX 是一個實時
    發(fā)表于 08-06 07:53

    uCOS-II實時操作系統(tǒng)實時操作系統(tǒng)與分時操作系統(tǒng)的區(qū)別是什么

    文章目錄1簡介1uCOS-II中的任務(wù)1簡介uCOS-II實時操作系統(tǒng)實時操作系統(tǒng)與分時操作系統(tǒng)的區(qū)別:分時
    發(fā)表于 12-14 06:42

    BenOS實時操作系統(tǒng)解密

    BenOS實時操作系統(tǒng)解密BenOS實時操作系統(tǒng)解密BenOS實時操作系統(tǒng)解密BenOS
    發(fā)表于 01-12 10:54 ?5次下載

    高效實時操作系統(tǒng)設(shè)計

    基于STM34f4開發(fā)的高效實時操作系統(tǒng)
    發(fā)表于 05-11 14:54 ?26次下載

    實時操作系統(tǒng)特性的討論

    嵌入式實時系統(tǒng)中采用的操作系統(tǒng)我們稱為嵌入式實時操作系統(tǒng),它既是嵌入式操作系統(tǒng),又是
    的頭像 發(fā)表于 09-30 09:31 ?5047次閱讀

    實時操作系統(tǒng)的特點_實時操作系統(tǒng)的組成

    本文主要闡述了實時操作系統(tǒng)的特點及組成。實時操作系統(tǒng)(RTOS)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚?/div>
    發(fā)表于 09-01 16:48 ?4891次閱讀

    實時操作系統(tǒng)和非實時操作系統(tǒng)的區(qū)別

    本文主要闡述了實時操作系統(tǒng)和非實時操作系統(tǒng)的區(qū)別。
    發(fā)表于 09-02 15:58 ?1.1w次閱讀

    什么是分時操作系統(tǒng),Linux屬于實時操作系統(tǒng)嗎?

    我們平時分享的μC/OS、FreeRTOS、RT-Thread、ThreadX這些都是實時操作系統(tǒng)(RTOS),那么有讀者問:什么是分時操作系統(tǒng),Linux屬于
    的頭像 發(fā)表于 06-23 17:04 ?8897次閱讀

    實時操作系統(tǒng)

    對處理系統(tǒng)做出快速響應(yīng),調(diào)度一切可利用的資源完成實時任務(wù),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。提供及時響應(yīng)和高可靠性是其主要特點。
    的頭像 發(fā)表于 11-17 20:42 ?1214次閱讀

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

    我們平時分享的μC/OS、FreeRTOS、RT-Thread、ThreadX這些都是實時操作系統(tǒng)(RTOS),那么有讀者問:什么是分時操作系統(tǒng),Linux屬于
    的頭像 發(fā)表于 12-28 11:39 ?1421次閱讀

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

    實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)實時應(yīng)用提供一個穩(wěn)定、可預(yù)測和高效運行環(huán)境的操作系統(tǒng)。實時
    的頭像 發(fā)表于 04-16 16:30 ?738次閱讀
    帶你認(rèn)識<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>(rtos)