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





