當物聯網和操作系統這個話題出現在IT界時,“嵌入式操作系統”這個術語與“實時操作系統”(RTOS)經常互換使用。但實際上,一些嵌入式操作系統有實時功能,另一些則沒有這種功能。
真正的RTOS物聯網設備需要處理數據時沒有緩沖延遲。RTOS的好處包括兩大類:第一,能夠實現多任務處理,能夠調度和優先處理任務,還能夠管理資源在多個任務之間的共享。這種操作系統通常用于比較復雜的航空、工業和醫療物聯網設備中。第二,功耗比較低,對資源的要求也比較低,比如處理能力和內存。十之八九,諸如此類的操作系統的增長率會超過RTOS,至少對第一代物聯網設備來說是這樣的,這種類型的操作系統復雜性低,功能也相對比較齊全。
RIOT OS是一種開源社區項目,自2008年以來就啟動了。RIOT能夠在眾多平臺上運行,包括嵌入式設備和PC(以及數量眾多的極其流行的傳感器/致動器板卡),而且擁有易于使用的API。該操作系統因用電量和資源需求方面能夠做到高效而家喻戶曉。
微軟的最新款嵌入式操作系統名為Windows 10 for IoT。這面大旗下還有三個子操作系統,視用戶的要求而定。第一個是Windows 10 for IoT Mobile,它支持ARM架構。第二個是Windows 10 for IoT Core,它支持Raspberry Pi和英特爾凌動。最后一個是Windows 10 for IoT Enterprise——這多少有點像功能完備的Windows 10 Enterprise,但僅限于運行單一應用程序。
由于Windows 10 for IoT是全新產品,它在用戶群和經驗豐富的開發者方面顯然落后于其他許多物聯網操作系統。話雖如此,這款操作系統大有潛力,如果你想在內部開發應用程序,更是如此。最終,那些習慣于使用Visual Studio和Azure物聯網服務、針對Windows從事開發工作的人會被整套的Windows 10 for IoT方案吸引過去。
WindRiver的VxWorks可能是如今使用最流行的商用RTOS。它提供了一款可靠的操作系統,又具有高度的靈活性。VxWorks還提供了許多安全功能,這些功能對需要它們的物聯網項目來說至關重要。VxWorks在工業、醫療和航空等領域的名氣很大,因為它是少數幾家滿足必要的認證要求、以便用于那些行業的RTOS廠商之一。
谷歌在去年秋季的谷歌I/O大會上宣布,打算推出Brillo,進軍嵌入式操作系統市場。面向基于安卓的嵌入式操作系統的開發平臺,很適合在編寫安卓應用程序方面有著扎實背景的那些人使用。Brillo使用一種名為Weave的通信協議。這意味著,智能設備沒必要非得將嵌入式安卓作為其操作系統——它們只要能夠使用Weave進行通信就可以。這為一大批廠商將Weave集成到物聯網產品中敞開了大門,最終讓這些產品能夠與Brillo聯通。
ARM開發了自己的開源嵌入式操作系統,名為mbed OS。由于它是由ARM自身開發的,所以ARM是唯一支持的架構。話雖如此,預計該操作系統會在智能家居和可穿戴式設備這兩個物聯網細分市場大放異彩。這款操作系統有別于另外許多的嵌入式操作系統,原因在于它是單線程,而不是多線程。ARM表示,它認為對于該操作系統能夠在尺寸最小、功耗最低的設備上運行而言是必不可少的。如果物理尺寸和電池使用時間至關重要,物聯網設備最后可能會在mbed OS上運行。
到目前為止,蘋果已采用了其操作系統平臺的變種,開發了多款物聯網設備,比如蘋果電視、CarPlay(借助BlackBerry QNX)和蘋果手表。展望未來,預計蘋果會繼續使用其iOS,并改動OS X,那樣它可以在物聯網端點設備上更精簡、更高效地運行。開發人員可以使用諸如最近發布的HomeKit之類的工具,這種框架用來構建控制家庭自動化設備的應用程序。
Nucleus RTOS是Mentor Graphics公司開發的一種嵌入式操作系統。這家公司聲稱,其軟件目前在30多億個設備上運行,這是個相當龐大的安裝群。該操作系統為眾多嵌入式架構提供了有力的支持,在汽車、醫療、公用事業、工業和消費類電子產品等行業垂直領域大受歡迎。
不過另一種由來已久的商用RTOS解決方案是Green Hills的Integrity。它在航空/國防、汽車、工業和醫療等垂直領域展開激烈的競爭。該公司還繼續在面向消費者的物聯網市場大受歡迎,這歸功于它一直憑借性能、安全和可靠性博得人氣和美名。
基于物聯網產業處在發展初期,碎片化特點必將導致物聯網時代對軟件的多樣性需求。一種操作系統和開發工具很難支持物聯網系統中的所有設備,短時間內,物聯網操作系統很難形成像智能手機中Android和iOS兩家獨占市場的局面。以安全性和集成化為代表的物聯網新需要給傳統嵌入式軟件帶來挑戰,也給以互聯網企業為代表的產業新勢力帶來機遇。