為什么物聯(lián)網(wǎng)設(shè)備要使用RTOS?
數(shù)據(jù)驅(qū)動世界的需求意味著您的物聯(lián)網(wǎng)設(shè)備將需要強(qiáng)大而可靠的軟件。為此,您需要一個實(shí)時操作系統(tǒng)(RTOS)。
我們將物聯(lián)網(wǎng)設(shè)備視為通過網(wǎng)絡(luò)發(fā)送和接收信息的嵌入式系統(tǒng)。盡管許多嵌入式系統(tǒng)使用較不復(fù)雜的軟件即可很好地管理,但聯(lián)網(wǎng)設(shè)備需要功能更強(qiáng)大的系統(tǒng)。
物聯(lián)網(wǎng)設(shè)備的軟件必須為:
- 可擴(kuò)展,以適應(yīng)各種不同類別的設(shè)備
- 模塊化的,因此您只能選擇滿足嚴(yán)格的RAM要求所需的組件
- 已連接,因此您可以通過Wi-Fi,以太網(wǎng),USB或藍(lán)牙將數(shù)據(jù)移入和移出設(shè)備。
- 可靠,因此您的設(shè)備可以通過安全關(guān)鍵性應(yīng)用認(rèn)證
那么為什么不使用Linux呢?
Linux當(dāng)然是一個成熟的,對開發(fā)人員友好的操作系統(tǒng),作為物聯(lián)網(wǎng)設(shè)備的平臺已受到關(guān)注。Linux已成為許多應(yīng)用程序的主流嵌入式操作系統(tǒng)。
然而,與實(shí)時操作系統(tǒng)相比,Linux有一個缺點(diǎn):內(nèi)存占用。即使可以通過刪除嵌入式系統(tǒng)中不需要的工具和系統(tǒng)服務(wù)來縮小Linux的規(guī)模,但它仍然是一大部分軟件。它根本無法在8位或16位MCU上運(yùn)行,甚至許多較新的32位MCU都沒有足夠的板載RAM用于Linux內(nèi)核。ARM Cortex-M系列就是一個很好的例子:有數(shù)百種基于流行的Cortex-M架構(gòu)的MCU,通常只有幾百KB的板載內(nèi)存。Linux將永遠(yuǎn)無法在這些芯片上運(yùn)行。
Linux當(dāng)然會在嵌入式設(shè)備中有很多用途,尤其是那些提供圖形豐富的用戶界面的設(shè)備。但是有成千上萬的Linux不適合應(yīng)用程序。