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)都是等效的嗎

要長(zhǎng)高 ? 來(lái)源:embedded ? 作者:Jacob Beningo ? 2023-09-29 05:04 ? 次閱讀

作者:Jacob Beningo

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

對(duì)等效的需求

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

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

wKgZomUFUviAHjTzAAELAZ0hlO0695.png

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

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

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

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

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

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

結(jié)論

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

    關(guān)注

    41

    文章

    3610

    瀏覽量

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

    關(guān)注

    37

    文章

    6859

    瀏覽量

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

    關(guān)注

    2

    文章

    1507

    瀏覽量

    62217
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    817

    瀏覽量

    119766
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    對(duì)實(shí)時(shí)操作系統(tǒng)特性的討論

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

    實(shí)時(shí)操作系統(tǒng)的特點(diǎn)_實(shí)時(shí)操作系統(tǒng)的組成

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

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

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

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

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

    實(shí)時(shí)操作系統(tǒng)

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

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

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

    到底啥是實(shí)時(shí)操作系統(tǒng)呢?它到底實(shí)時(shí)實(shí)時(shí)呢?

    在于,它不僅會(huì)控制硬件,而且還可以提供必要的保障,確保所有任務(wù)可以按時(shí)完成。 實(shí)時(shí)操作系統(tǒng)可根據(jù)其實(shí)時(shí)條件分為硬實(shí)時(shí)
    的頭像 發(fā)表于 10-29 16:33 ?1200次閱讀

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

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