2020年是物聯(lián)網(wǎng)浪潮奔涌的一年,5G+IoT的爆發(fā)迎來諸多智能商業(yè)場(chǎng)景的落地。在這其中,操作系統(tǒng)作為物聯(lián)網(wǎng)的「大腦」發(fā)揮了不可或缺的作用。
物聯(lián)網(wǎng)操作系統(tǒng)是新一代信息技術(shù)的重要組成部分。其英文名稱是IoT(Internet of Things),顧名思義,「物聯(lián)網(wǎng)就是萬(wàn)物相連的互聯(lián)網(wǎng)」。與傳統(tǒng)的個(gè)人計(jì)算機(jī)或個(gè)人智能終端(智能手機(jī)、平板電腦等)上的操作系統(tǒng)不同,物聯(lián)網(wǎng)操作系統(tǒng)有其獨(dú)特的特征。這些特征是為了更好的服務(wù)物聯(lián)網(wǎng)應(yīng)用而存在的,運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)的終端設(shè)備,能夠與物聯(lián)網(wǎng)的其它層次結(jié)合的更加緊密,數(shù)據(jù)共享更加順暢,能夠大大提升物聯(lián)網(wǎng)的生產(chǎn)效率。
在本文中,OFweek維科網(wǎng)特地盤點(diǎn)、匯總了2020年最受關(guān)注的十大物聯(lián)網(wǎng)操作系統(tǒng),一起來認(rèn)識(shí)下都有哪些?
Andorid Things
Android Things是Google推出的平臺(tái),旨在幫助Android開發(fā)者打造物聯(lián)網(wǎng)設(shè)備。這個(gè)平臺(tái)還支持強(qiáng)大的應(yīng)用,例如視頻與音頻處理以及通過TensorFlow進(jìn)行板載機(jī)器學(xué)習(xí)。它繼承Brillo的功能外,還增加了Android API和Google服務(wù)的支持,以及一些Android Things的支持庫(kù)。
Android Things最早是在2015年谷歌全球開發(fā)大會(huì)上出現(xiàn)的,谷歌對(duì)外宣布將會(huì)開發(fā)一個(gè)面向物聯(lián)網(wǎng)設(shè)備的安卓操作系統(tǒng),一開始被命名為「Brillo」。它其實(shí)就類似安卓系統(tǒng)的一個(gè)分支版本,類似于面向智能手表和穿戴設(shè)備推出的Android Wear等;2016年12月,谷歌第一次對(duì)外公布了Android Things的開發(fā)者預(yù)覽版本。
根據(jù)谷歌的介紹,Android Things和手機(jī)版安卓系統(tǒng)一樣,也會(huì)提供大量的安卓開發(fā)接口和谷歌基礎(chǔ)服務(wù),可以讓物聯(lián)網(wǎng)設(shè)備的開發(fā)者快速進(jìn)行功能開發(fā)。據(jù)悉,谷歌圍繞物聯(lián)網(wǎng)設(shè)備提供的服務(wù)有「谷歌云平臺(tái)」,「谷歌Play服務(wù)」、以及「Android Studio」開發(fā)工具。
華為L(zhǎng)ite OS
說到華為的物聯(lián)網(wǎng)領(lǐng)域布局,可能大家耳熟能詳?shù)囊粋€(gè)詞就是「鴻蒙」,但其實(shí)鴻蒙OS和Lite OS有所不同。
嚴(yán)格來說,目前,二者之間是包含關(guān)系,Lite OS是華為布局于物聯(lián)網(wǎng)設(shè)備領(lǐng)域的底層操作系統(tǒng),而鴻蒙OS是華為布局于智能設(shè)備領(lǐng)域的底層操作系統(tǒng),包含了Lite OS的軟件代碼,也就是說Lite OS是鴻蒙體系中的一個(gè)內(nèi)核。
據(jù)了解,華為L(zhǎng)ite OS是驅(qū)動(dòng)萬(wàn)物感知、互聯(lián)、智能,可廣泛應(yīng)用于面向個(gè)人、家庭和行業(yè)的物聯(lián)網(wǎng)產(chǎn)品和解決方案。其具備創(chuàng)新式系統(tǒng)設(shè)計(jì),可最大限度降低系統(tǒng)功耗,在特定場(chǎng)景下,能減少60%功耗開銷;能提供E2E物聯(lián)網(wǎng)領(lǐng)域性技術(shù)棧,快速構(gòu)建不同應(yīng)用場(chǎng)景下的TurnKey解決方案;可復(fù)制華為在消費(fèi)者、運(yùn)營(yíng)商和企業(yè)領(lǐng)域成功商業(yè)實(shí)踐和優(yōu)秀經(jīng)驗(yàn),助力合作伙伴商業(yè)成功。
華為L(zhǎng)ite OS基礎(chǔ)內(nèi)核支持任務(wù)管理、內(nèi)存管理、時(shí)間管理、通信機(jī)制、中斷管理、隊(duì)列管理、事件管理、定時(shí)器等操作系統(tǒng)基礎(chǔ)組件,更好地支持低功耗場(chǎng)景,支持tickless機(jī)制,支持定時(shí)器對(duì)齊。同時(shí)提供端云協(xié)同能力,集成了LwM2M、CoAP、mbedtls、LwIP全套IoT互聯(lián)協(xié)議棧,且在LwM2M的基礎(chǔ)上,提供了Agent Tiny模塊,用戶只需關(guān)注自身的應(yīng)用,而不必關(guān)注LwM2M實(shí)現(xiàn)細(xì)節(jié),直接使用Agent Tiny封裝的接口即可簡(jiǎn)單快速實(shí)現(xiàn)與云平臺(tái)安全可靠的連接。
RTX
RTX是ARM公司的一款嵌入式實(shí)時(shí)操作系統(tǒng),使用標(biāo)準(zhǔn)的C結(jié)構(gòu)編寫,運(yùn)用RealView編譯器進(jìn)行編譯。不僅僅是一個(gè)實(shí)時(shí)內(nèi)核,還具備豐富的中間層組件,不但免費(fèi),而且代碼也是開放的。
RTX的主要功能除了對(duì)任務(wù)(進(jìn)程)的開始和終止以外,還支持進(jìn)程通信,例如任務(wù)的同步、共享資源(外設(shè)或內(nèi)存)的管理、任務(wù)之間消息的傳遞。開發(fā)者可以使用基本函數(shù)去開啟實(shí)時(shí)運(yùn)行器,去開始和終結(jié)任務(wù),以及去傳遞任務(wù)間的控制(輪轉(zhuǎn)調(diào)度)。開發(fā)者可以賦予任務(wù)優(yōu)先級(jí)。
RTX的主要特點(diǎn)包括:支持時(shí)間片,搶占式和合作式調(diào)度。不限制數(shù)量的任務(wù),每個(gè)任務(wù)都具有254的優(yōu)先級(jí)。不限制數(shù)量的信號(hào)量,互斥信號(hào)量,消息郵箱和軟定時(shí)器。支持多線程和線程安全操作。使用MDK基于對(duì)話框的配置向?qū)?,可以很方便的完成MDK的配置。
FreeRTOS
FreeRTOS是一種小型實(shí)時(shí)操作系統(tǒng)內(nèi)核,具有源碼公開、可移植、可裁減的特點(diǎn)。在嵌入式領(lǐng)域中,嵌入式實(shí)時(shí)操作系統(tǒng)正得到越來越廣泛的應(yīng)用。采用嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)可以更合理、更有效地利用CPU的資源,簡(jiǎn)化應(yīng)用軟件的設(shè)計(jì),縮短系統(tǒng)開發(fā)時(shí)間,更好地保證系統(tǒng)的實(shí)時(shí)性和可靠性。但是由于RTOS需占用一定的系統(tǒng)資源(尤其是RAM資源),只有μC/OS-II、embOS、salvo、FreeRTOS等少數(shù)實(shí)時(shí)操作系統(tǒng)能在小RAM單片機(jī)上運(yùn)行。相對(duì)μC/OS-II、embOS等商業(yè)操作系統(tǒng),F(xiàn)reeRTOS操作系統(tǒng)是完全免費(fèi)的操作系統(tǒng),具有源碼公開、可移植、可裁減、調(diào)度策略靈活的特點(diǎn),可以方便地移植到各種單片機(jī)上運(yùn)行。
作為一個(gè)輕量級(jí)的操作系統(tǒng),F(xiàn)reeRTOS提供的功能包括:任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能等,可基本滿足較小系統(tǒng)的需要。FreeRTOS內(nèi)核支持優(yōu)先級(jí)調(diào)度算法,每個(gè)任務(wù)可根據(jù)重要程度的不同被賦予一定的優(yōu)先級(jí),CPU總是讓處于就緒態(tài)的、優(yōu)先級(jí)最高的任務(wù)先運(yùn)行。FreeRTOS內(nèi)核同時(shí)支持輪換調(diào)度算法,系統(tǒng)允許不同的任務(wù)使用相同的優(yōu)先級(jí),在沒有更高優(yōu)先級(jí)任務(wù)就緒的情況下,同一優(yōu)先級(jí)的任務(wù)共享CPU的使用時(shí)間。
嵌入式領(lǐng)域,F(xiàn)reeRTOS是不多的同時(shí)具有實(shí)時(shí)性,開源性,可靠性,易用性,多平臺(tái)支持等特點(diǎn)的嵌入式操作系統(tǒng)。目前,F(xiàn)reeRTOS已經(jīng)發(fā)展到支持包含X86,Xilinx,Altera等多達(dá)30種的硬件平臺(tái),其廣闊的應(yīng)用前景已經(jīng)越來越受到業(yè)內(nèi)人士的矚目。
Fuchsia
Fuchsia系統(tǒng)是谷歌自主打造的一款精簡(jiǎn)、安全、基于微內(nèi)核設(shè)計(jì)、為物聯(lián)網(wǎng)時(shí)代打造的全新操作系統(tǒng),谷歌希望通過Fuchsia系統(tǒng)統(tǒng)一安卓和Chrome OS,其支持多達(dá)4個(gè)程序同屏同時(shí)運(yùn)行(平板模式下),并且主頁(yè)以直列的方式顯示各種故事卡、應(yīng)用集、系統(tǒng)組件等,有點(diǎn)類似多任務(wù)、多標(biāo)簽頁(yè)的做法,但更簡(jiǎn)潔。
據(jù)悉,F(xiàn)uchsia系統(tǒng)不同于安卓使用的Linux內(nèi)核,而是采用的比較新的Zircon的內(nèi)核。該系統(tǒng)與當(dāng)下Android相比,無(wú)論是存儲(chǔ)器還是內(nèi)存之類的硬件要求都大幅降低,可以看出這是一款面向物聯(lián)網(wǎng)的家用電器用的系統(tǒng)。Fuchsia系統(tǒng)支持32位和64位的ARM處理器和64位PC處理器。Fuchsia支持多種編程語(yǔ)言,包括C/C++、Dart、Go、Rust和Python,此外還有一種名為FIDL的接口定義語(yǔ)言。據(jù)悉,F(xiàn)uchsia可以用于手機(jī)、電腦、智能手表、車載娛樂系統(tǒng)和其他嵌入式設(shè)備。
VxWorks
VxWorks誕生于1983年,由美國(guó)風(fēng)河系統(tǒng)(Wind River System,簡(jiǎn)稱WRS)公司設(shè)計(jì)開發(fā),它是一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),是嵌入式開發(fā)環(huán)境的關(guān)鍵組成部分。
VxWorks之所以能在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占據(jù)一席之地,其良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境被認(rèn)為了其中的幾點(diǎn)原因。
VxWorks支持幾乎所有現(xiàn)代市場(chǎng)上的嵌入式CPU,包括x86系列、ARM、MIPS、LoongISA、 PowerPC、Freescale ColdFire、Intel i960、SPARC、SH-4、StrongARM以及xScale CPU。
VxWorks以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等前沿、尖端及實(shí)時(shí)性要求極高的領(lǐng)域中,例如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。
據(jù)悉,美國(guó)的F-16、F/A-18戰(zhàn)斗機(jī)、B-2隱形轟炸機(jī)和愛國(guó)者導(dǎo)彈,火星探測(cè)器如1997年7月登陸的火星探路者號(hào),2008年5月登陸的鳳凰號(hào)、2012年8月登陸的好奇號(hào)、2018年登陸的洞察號(hào)等,都使用了VxWorks操作系統(tǒng)。
風(fēng)河公司公司還推出有的一套名為Tornado的實(shí)時(shí)操作系統(tǒng)開發(fā)環(huán)境,類似MicrosoftVisual C,但是提供了更豐富的調(diào)試、仿真環(huán)境和工具。
風(fēng)河公司持續(xù)致力于開拓嵌入式計(jì)算,技術(shù)成果據(jù)稱已應(yīng)用于20億+產(chǎn)品之中。
Mbed OS
Mbed OS由ARM聯(lián)合它的技術(shù)合作伙伴,以及Mbed開發(fā)者社區(qū)打造,它是一個(gè)平臺(tái)、一個(gè)操作系統(tǒng),也是主打物聯(lián)網(wǎng)的一整套軟件解決方案。Mbed OS被用于基于32位ARM Cortex-M系列芯片的物聯(lián)網(wǎng)設(shè)備,圍繞Mbed OS,形成了一個(gè)嵌入式開源生態(tài)。
針對(duì)不同類型、不同資源配置的物聯(lián)網(wǎng)設(shè)備,ARM推出了兩款不同的操作系統(tǒng):Mbed OS和Mbed Linux OS。
據(jù)ARM物聯(lián)網(wǎng)服務(wù)集團(tuán)中國(guó)區(qū)負(fù)責(zé)人陳曦2019年的介紹,Mbed OS面向一些資源比較受限,希望能夠用簡(jiǎn)單快捷的方式滿足連接、安全以及應(yīng)用開發(fā)需求的設(shè)備,Mbed Linux OS則面向網(wǎng)關(guān)、攝像頭、工業(yè)電腦這類資源配置更加豐富的設(shè)備,方便用戶集中開發(fā)高附加值的功能。
作為一個(gè)開源的OS,Mbed OS已經(jīng)和160多種不同的芯片平臺(tái)做好了預(yù)集成,大幅降低了開發(fā)難度,縮短開發(fā)時(shí)間。
Mbed OS的核心軟件平臺(tái)由核心貢獻(xiàn)者和伙伴公司開發(fā),由mbed團(tuán)隊(duì)維護(hù)。在Apache許可證2.0下,這個(gè)核心平臺(tái)提供的所有核心通用軟件構(gòu)件,加上HAL遷移性允許mbed透明的運(yùn)行在不同制造商的微控制器上,和TOOLCHAIN遷移性允許開發(fā)使用不同的嵌入式工具鏈。
Mbed OS的構(gòu)件數(shù)據(jù)庫(kù)由各公司和更廣泛的社區(qū)開發(fā),它提供對(duì)各種外設(shè)構(gòu)件、傳感器、無(wú)線廣播、協(xié)議和云服務(wù)API的支持,這也是在Apache許可證2.0或其它創(chuàng)立者選擇的許可證下貢獻(xiàn)的,也由這些個(gè)體公司和開發(fā)開發(fā)者社區(qū)支持。
RIOT
RIOT 操作系統(tǒng)的低內(nèi)存占用特性使其更適用于物聯(lián)網(wǎng)設(shè)備,它背后沒有某個(gè)公司的支持,而完全是由社區(qū)驅(qū)動(dòng)。它的官方口號(hào)是:If your tiny IoT device can't run Linux, use RIOT,可見其定位。此外,在其官網(wǎng)上,迎面展示的也是這樣一句話:The friendly Operating System for the Internet of Things。
RIOT操作系統(tǒng)最初由柏林自由大學(xué)(FU Berlin)、法國(guó)國(guó)家信息與自動(dòng)化研究所(INRIA),以及漢堡應(yīng)用科技大學(xué)(HAW Hamburg)共同開發(fā),其內(nèi)核基本從FireKernel繼承,而這個(gè)內(nèi)核原本為傳感器網(wǎng)絡(luò)開發(fā)。
RIOT基于微內(nèi)核架構(gòu)。與其他低內(nèi)存占用的系統(tǒng)(如TinyOS和Contiki)不同, RIOT允許使用C語(yǔ)言和C++語(yǔ)言編寫應(yīng)用程序,而且提供完整的多線程和實(shí)時(shí)響應(yīng)解決方案。
RIOT可以在8位單片機(jī)(如AVR ATMega),16位單片機(jī)(如MSP430)和32位單片機(jī)(如ARM的Cortex)上運(yùn)行,也可以作為一個(gè)Linux或macOS進(jìn)程運(yùn)行,能使用諸如GNU編譯器合集(GCC),GNU調(diào)試器,Valgrind,Wireshark等標(biāo)準(zhǔn)調(diào)試工具。
RIOT符合一部分POSIX標(biāo)準(zhǔn),提供多種通信協(xié)議棧,包括了IPv6、6LoWPAN和內(nèi)容中心網(wǎng)絡(luò),還支持RPL、UDP、TCP和CoAP。
AliOS-Things
據(jù)官方介紹,AliOS Things是面向IoT領(lǐng)域的輕量級(jí)物聯(lián)網(wǎng)嵌入式操作系統(tǒng),是 阿里巴巴AliOS家族旗下、面向IoT領(lǐng)域的、高可伸縮的物聯(lián)網(wǎng)操作系統(tǒng)。
AliOS Things致力于搭建云端一體化IoT基礎(chǔ)設(shè)備。具備極致性能,極簡(jiǎn)開發(fā)、云端一體、豐富組件、安全防護(hù)等關(guān)鍵能力,并支持終端設(shè)備連接到阿里云Link,可廣泛應(yīng)用在智能家居、智慧城市、新出行等領(lǐng)域。
AliOS Things提供已通過認(rèn)證的80+的硬件平臺(tái)和100+的傳感器給潛在客戶選擇,也為用戶提供包括MQTT,Http/Https,Coap,LwM2M,LoRaWAN在內(nèi)的多種物聯(lián)網(wǎng)協(xié)議組件支持。
據(jù)官方展示,AliOS Things目前已用于智能家居、智能辦公、智能廚房、空氣環(huán)境等領(lǐng)域。
Tizen RT
Tizen RT是三星電子2011年推出的基于Linux的操作系統(tǒng),它適用于移動(dòng)應(yīng)用程序和小型嵌入式系統(tǒng)。
Tizen RT的目標(biāo)是將Tizen平臺(tái)的設(shè)備覆蓋范圍擴(kuò)展到低端設(shè)備。Tizen已在智能電視、智能手機(jī)、可穿戴設(shè)備(Gear S,Gear Fit)、車輛和智能家電中商業(yè)化。三星電子主要將此操作系統(tǒng)用于物聯(lián)網(wǎng)開發(fā)。
Tizen RT是基于RTOS的輕量級(jí)平臺(tái),使用C語(yǔ)言,C ++和Html5作為開發(fā)語(yǔ)言,它可以適合這些的設(shè)備:它們通常配備具有MPU,小于2MB RAM和小于16MB Flash的Cortex-M / R處理器。
典型的基于RTOS的開發(fā)環(huán)境有幾個(gè)限制。首先,它無(wú)法在運(yùn)行時(shí)加載其他模塊。其次,它可能不如Linux環(huán)境。為了解決這些限制,Tizen RT采用Linux風(fēng)格的開發(fā)環(huán)境,包括POSIX API,BSD Socket API,Shell和Kconfig構(gòu)建配置。這有助于Linux開發(fā)人員輕松地在Tizen RT之上構(gòu)建其業(yè)務(wù)邏輯。
TizenRT使用稱為「Tizen Common」的共享基礎(chǔ)架構(gòu)來維持物聯(lián)網(wǎng)開發(fā)的主要目的。TizenRT的開發(fā)方式使移動(dòng)運(yùn)營(yíng)商可以根據(jù)某個(gè)地區(qū)的人口需求定制其產(chǎn)品。
評(píng)論