為什么IoT設(shè)備的操作系統(tǒng)選用RTOS,而不是Linux?
素材來源:網(wǎng)絡(luò)
編輯整理:strongerHuang
物聯(lián)網(wǎng)近兩年的快速發(fā)展,想必大家都看到了,因為物聯(lián)網(wǎng),使C語言的成為最受歡迎的語言(之前幾年JAVA一直的老大)。
順便先給大家看看6月TIOBE指數(shù):
C語言已經(jīng)連續(xù)兩月位居榜首,超越JAVA了。
一、為什么IoT設(shè)備選用RTOS?
我們說的IoT設(shè)備,通常指的是物聯(lián)網(wǎng)系統(tǒng)中的終端設(shè)備,我們將IoT設(shè)備視為通過網(wǎng)絡(luò)發(fā)送和接收信息的嵌入式系統(tǒng)。
盡管許多嵌入式系統(tǒng)使用較不復(fù)雜的軟件即可很好地管理,但聯(lián)網(wǎng)設(shè)備需要功能更強大的系統(tǒng)。
物聯(lián)網(wǎng)設(shè)備的軟件應(yīng)該具備:
可擴展:以適應(yīng)各種不同類別的設(shè)備
模塊化:選擇所需的組件
可連接:通過Wi-Fi,以太網(wǎng),USB或藍牙將數(shù)據(jù)移入和移出設(shè)備。
可靠性:最好具有相關(guān)的安全認證
1.可擴展性
可擴展的RTOS可以幫助你提高開發(fā)效率,降低開發(fā)成本并縮短上市時間。
盡管從歷史上看,嵌入式系統(tǒng)完全是圍繞8位和16位MCU構(gòu)建的,但是32位MCU的價格卻一直在迅速下降,銷量在快速增長,使其成為最受歡迎的MCU。
2.模塊化
想必大家都看到了眾多RTOS廠家都在不斷完善自家RTOS的生態(tài),各種中間件和組件越來越多,但有一個特點就是,模塊化。
大家熟悉的μC/OS、RT-Thread、FreeRTOS等都圍繞RTOS擴展了許多組件。
3.可連接
網(wǎng)絡(luò)連接對于物聯(lián)網(wǎng)非常重要,關(guān)鍵的一點就是“連接”,否則就只是“物”,而不能叫物聯(lián)網(wǎng)了。
如果RTOS有配套的協(xié)議棧最好,這樣就能節(jié)省開發(fā)時間,同時,如果芯片自帶有所需的協(xié)議棧更好,這樣就能節(jié)省設(shè)備上的內(nèi)存并降低成本。
4.可靠性
可靠性這一點相信不用我說,做過開發(fā)的都能理解。產(chǎn)品運行一段時間出現(xiàn)bug是一件多么頭疼的事情。。。
所以,不光是看得到的實物需要認證,“看不見”的軟件也是需要認證。
二、為什么不使用Linux呢?
Linux是一種強大的,對開發(fā)人員友好的操作系統(tǒng),作為物聯(lián)網(wǎng)設(shè)備的平臺已受到關(guān)注,Linux已成熟成為許多應(yīng)用程序的主流嵌入式操作系統(tǒng)。
Linux在嵌入式設(shè)備中有很多用途,尤其是那些提供圖形豐富的用戶界面的設(shè)備。
然而,與實時操作系統(tǒng)(RTOS)相比,Linux有一個“缺點”:內(nèi)存占用。即使可以通過刪除嵌入式系統(tǒng)不需要的工具和系統(tǒng)服務(wù)來縮小Linux,但它仍然非常龐大(相對RTOS)。
它根本無法在8位或16位MCU上運行,甚至許多較新的32位MCU都沒有足夠的板載RAM用于Linux內(nèi)核。
ARM Cortex-M系列就是非常適合IoT的MCU,有數(shù)百種基于流行的Cortex-M架構(gòu)的MCU,通常只有幾百KB的內(nèi)存,Linux基本不能在這些芯片上運行。
所以,為什么不使用Linux呢?總結(jié)來說就是IoT設(shè)備的硬件(資源、性能)不適合Linux。
長按前往圖中包含的公眾號關(guān)注
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!