每一個(gè)時(shí)代都有屬于自己特色的電子產(chǎn)品,,每一類(lèi)產(chǎn)品都有自己適配的操作系統(tǒng),。例如早期的MULTICS、UNIX這類(lèi)多任務(wù)操作系統(tǒng),,到個(gè)人電腦采用的LINUX,、Windows等多處理器操作系統(tǒng),再到智能手機(jī)時(shí)代的iOS,、安卓(Android)等移動(dòng)操作系統(tǒng),。
這些操作系統(tǒng)運(yùn)行在“裸機(jī)”設(shè)備的最低層,搭建了其他軟件、應(yīng)用(APP)運(yùn)行的環(huán)境與平臺(tái),。當(dāng)今各類(lèi)軟件和互聯(lián)網(wǎng)應(yīng)用的火熱,,以及PC時(shí)代與移動(dòng)互聯(lián)網(wǎng)時(shí)代的輝煌,都離不開(kāi)一路完善的操作系統(tǒng),。
近年來(lái),,隨著物聯(lián)網(wǎng)(IoT)市場(chǎng)的迅猛發(fā)展,嵌入式設(shè)備聯(lián)網(wǎng)成為了一個(gè)剛需,。物聯(lián)網(wǎng)的核心和基礎(chǔ)仍是互聯(lián)網(wǎng),,但不同于互聯(lián)網(wǎng)強(qiáng)調(diào)人與人的互聯(lián),物聯(lián)網(wǎng)是在這樣的基礎(chǔ)上延伸和擴(kuò)展出人與物,、物與物之間的連接網(wǎng)絡(luò),,形成我們說(shuō)的“萬(wàn)物互聯(lián)”。
雖然物聯(lián)網(wǎng)的發(fā)展是大勢(shì)所趨,,也被普遍看好和關(guān)注,,但嵌入式設(shè)備的聯(lián)網(wǎng)會(huì)使得軟件復(fù)雜性大幅增加,,傳統(tǒng)的嵌入式 RTOS(實(shí)時(shí)操作系統(tǒng)) 內(nèi)核已經(jīng)越來(lái)越難滿足市場(chǎng)的需求,,在這種情況下,物聯(lián)網(wǎng)操作系統(tǒng)(IoT OS)的概念應(yīng)運(yùn)而生,。
物聯(lián)網(wǎng)對(duì)操作系統(tǒng)的要求
物聯(lián)網(wǎng)系統(tǒng)大致可分為感知層,、終端系統(tǒng)層、網(wǎng)絡(luò)層(進(jìn)一步分為網(wǎng)絡(luò)接入層和核心層),、設(shè)備管理層,、后臺(tái)應(yīng)用層等幾個(gè)層次。由于包含大量的嵌入式設(shè)備,,與傳統(tǒng)的單一設(shè)備相比,,物聯(lián)網(wǎng)面對(duì)的是碎片化難題,無(wú)論是底層的連接還是上層的應(yīng)用服務(wù),,都特別強(qiáng)調(diào)“術(shù)業(yè)有專(zhuān)攻”:
物聯(lián)網(wǎng)系統(tǒng)要求感知層的設(shè)備更小,、功耗更低,而且需要安全可靠和具備組網(wǎng)能力,;
物聯(lián)網(wǎng)通信層需要支持各種通信協(xié)議和協(xié)議之間的轉(zhuǎn)換,;
應(yīng)用層則需要具備云計(jì)算能力。
在軟件方面,,早先的嵌入式操作系統(tǒng)只是完成了物理硬件的抽象,,并不能真正代表未來(lái)的物聯(lián)網(wǎng)。例如在安卓的生態(tài)環(huán)境中,,開(kāi)發(fā)者基本不用考慮智能終端的物理硬件配置,,只需根據(jù)安卓的編程接口編寫(xiě)應(yīng)用程序,就可以運(yùn)行在所有基于安卓的智能終端上一樣。
簡(jiǎn)單地說(shuō),,這是“物聯(lián)網(wǎng)設(shè)備操作系統(tǒng)”和“物聯(lián)網(wǎng)操作系統(tǒng)”的區(qū)別,。設(shè)備操作系統(tǒng)解決的是設(shè)備怎么聯(lián)網(wǎng)、如何更方便地聯(lián)網(wǎng)的問(wèn)題,,但沒(méi)有解決聯(lián)網(wǎng)之后做什么以及如何做的問(wèn)題,。對(duì)于整個(gè)物聯(lián)網(wǎng)系統(tǒng)來(lái)說(shuō),后者更重要,。
支撐物聯(lián)網(wǎng)系統(tǒng),,需要比傳統(tǒng)的嵌入式設(shè)備更復(fù)雜的軟件,不能簡(jiǎn)單局限于“邊緣側(cè)的操作系統(tǒng)”,,而要涉及到芯片層,、終端層、邊緣層,、云端層等多個(gè)層面,。通過(guò)層層分發(fā)、層層下達(dá),,通過(guò)調(diào)度云,、邊、端等不同層級(jí)中不同設(shè)備的計(jì)算資源,,而實(shí)現(xiàn)達(dá)到調(diào)度“物體”本身的目的,。這些要求,催生了面向物聯(lián)網(wǎng)設(shè)備和應(yīng)用的專(zhuān)用操作系統(tǒng),。
物聯(lián)網(wǎng)操作系統(tǒng)的特點(diǎn)
物聯(lián)網(wǎng)操作系統(tǒng)具備物聯(lián)網(wǎng)應(yīng)用領(lǐng)域內(nèi)的以下特點(diǎn):
1,、內(nèi)核尺寸伸縮性及架構(gòu)可擴(kuò)展性
物聯(lián)網(wǎng)的發(fā)展即將進(jìn)入一個(gè)小的爆發(fā)期,所以面對(duì)一輪輪的技術(shù)革新甚至換代時(shí),,整體架構(gòu)的靈活性和可擴(kuò)展性可以說(shuō)決定了一個(gè)企業(yè)的商業(yè)命脈,。同時(shí),為了適應(yīng)不同的應(yīng)用場(chǎng)景下的技術(shù)要求,,內(nèi)核尺寸的伸縮性也是需要面對(duì)的問(wèn)題,。
2、內(nèi)核的實(shí)時(shí)性
對(duì)于非搶占式調(diào)度方式的內(nèi)核很難滿足關(guān)鍵性動(dòng)作的實(shí)時(shí)性要求,,比如常見(jiàn)的中斷響應(yīng)和多任務(wù)調(diào)度等情況下,,操作系統(tǒng)的實(shí)時(shí)性便有了更高的要求,特別是對(duì)于大多數(shù)的物聯(lián)網(wǎng)應(yīng)用而言,,有意義的響應(yīng)時(shí)間決定了市場(chǎng)的接受度,。
3、安全性和可靠性
在物聯(lián)網(wǎng)的應(yīng)用環(huán)境下,,面對(duì)海量節(jié)點(diǎn)可以說(shuō)設(shè)備一經(jīng)投入使用,,就很難再去維護(hù)。所以平均無(wú)故障運(yùn)行時(shí)間和在一些嚴(yán)苛環(huán)境下的性能表現(xiàn)就顯得尤為重要。而在一向很注重信息安全的機(jī)密機(jī)構(gòu)的數(shù)據(jù)安全性,,引發(fā)了業(yè)內(nèi)關(guān)于開(kāi)源機(jī)制,、VMM機(jī)制等的廣泛討論。
4,、低功耗
由于物聯(lián)網(wǎng)的應(yīng)用場(chǎng)景和網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量增多,,低功耗是一個(gè)非常關(guān)鍵的指標(biāo)。所以在整體架構(gòu)設(shè)計(jì)的時(shí)候,,就需要加入一些休眠模式,、節(jié)能模式、降頻模式等邏輯判斷,,以延長(zhǎng)續(xù)航能力,。
主流物聯(lián)網(wǎng)操作系統(tǒng)盤(pán)點(diǎn)
真正出現(xiàn)針對(duì)物聯(lián)網(wǎng)特性開(kāi)發(fā)的操作系統(tǒng),是在2010年的RIOT(實(shí)時(shí)多任務(wù)操作系統(tǒng)),。隨后2014年,,風(fēng)河(Wind River,已被英特爾收購(gòu))在德國(guó)紐倫堡的嵌入式世界大會(huì)上,,對(duì)外公布VxWorks 7物聯(lián)網(wǎng)操作系統(tǒng),。同樣是2014年,Arm推出物聯(lián)網(wǎng)設(shè)備平臺(tái)和操作系統(tǒng)Mbed OS,。再后來(lái),,微軟在Windows 10的基礎(chǔ)上推出了面向物聯(lián)網(wǎng)的操作系統(tǒng)Windows 10 IoT Core,。
國(guó)內(nèi)最早發(fā)布物聯(lián)網(wǎng)操作系統(tǒng)的有上海慶科,,算起來(lái)比Arm還早三個(gè)月發(fā)布了MiCO。布局手機(jī)操作系統(tǒng)失敗后,,阿里Yun OS也開(kāi)始轉(zhuǎn)向物聯(lián)網(wǎng),。2015年,華為也推出了開(kāi)源物聯(lián)網(wǎng)OS LiteOS,,而在美國(guó)制裁后出現(xiàn)的鴻蒙OS(Harmony OS)包含了LiteOS的軟件代碼,, 成為了華為布局于智能設(shè)備領(lǐng)域的底層操作系統(tǒng)。
目前,,物聯(lián)網(wǎng)操作系統(tǒng)主要分為兩大類(lèi),,一是由傳統(tǒng)的嵌入式RTOS發(fā)展而來(lái),典型代表有FreeRTOS,、LiteOS,、RT-Thread、Arm Mbed OS;二是由互聯(lián)網(wǎng)公司的云平臺(tái)延伸而來(lái),,基于傳統(tǒng)操作系統(tǒng)進(jìn)行“剪裁”和定制,,典型代表有Ali OS Things、TencentOS tiny、Win10 IOT,。
RTOS陣營(yíng)的優(yōu)點(diǎn)是在物聯(lián)網(wǎng)終端上已經(jīng)廣泛支持,,硬件推廣成本低。缺點(diǎn)是軟件開(kāi)發(fā)專(zhuān)業(yè)度極高,,軟硬件開(kāi)發(fā)難以隔離,,對(duì)專(zhuān)業(yè)軟件公司進(jìn)入這個(gè)領(lǐng)域造成困難。
互聯(lián)網(wǎng)平臺(tái)陣營(yíng)的優(yōu)點(diǎn)是天生與互聯(lián)網(wǎng)服務(wù)相結(jié)合,,方便對(duì)接互聯(lián)網(wǎng)應(yīng)用,,缺點(diǎn)是基本上是各家產(chǎn)品對(duì)各家服務(wù),難以做到平臺(tái)中立,,對(duì)軟件開(kāi)發(fā)者來(lái)說(shuō)功能性受到了限制,。
本文按照國(guó)外和國(guó)內(nèi)兩個(gè)陣營(yíng),對(duì)現(xiàn)有仍比較活躍的物聯(lián)網(wǎng)操作系統(tǒng)進(jìn)行一個(gè)盤(pán)點(diǎn),。那些較小眾,、曾經(jīng)短暫出現(xiàn)后來(lái)淡出或不再更新的操作系統(tǒng),則不在本文討論范圍,。
國(guó)外
Wind River- VxWorks
VxWorks操作系統(tǒng)是Wind River于1983年設(shè)計(jì)開(kāi)發(fā)的一種嵌入式RTOS,,是Tornado嵌入式開(kāi)發(fā)環(huán)境的關(guān)鍵組成部分。良好的持續(xù)發(fā)展能力,、高性能的內(nèi)核以及友好的用戶(hù)開(kāi)發(fā)環(huán)境,,在嵌人式實(shí)時(shí)操作系統(tǒng)領(lǐng)域逐漸占據(jù)一席之地。
VxWorks支持幾乎所有現(xiàn)代市場(chǎng)上的嵌入式CPU,,包括x86系列,、MIPS、LoongISA,、PowerPC,、Freescale ColdFire、Intel i960,、SPARC,、SH-4、Arm, StrongARM以及xScale CPU,。其他特性包括具有可裁剪微內(nèi)核結(jié)構(gòu),;高效的任務(wù)管理;靈活的任務(wù)間通訊,;微秒級(jí)的中斷處理,;支持POSIX 1003.1b實(shí)時(shí)擴(kuò)展標(biāo)準(zhǔn);支持多種物理介質(zhì)及標(biāo)準(zhǔn)的,、完整的TCP/IP網(wǎng)絡(luò)協(xié)議等,。
然而其價(jià)格昂貴,。由于操作系統(tǒng)本身以及開(kāi)發(fā)環(huán)境都是專(zhuān)有的,價(jià)格一般都比較高,,通常需花費(fèi)10萬(wàn)元人民幣以上才能建起一個(gè)可用的開(kāi)發(fā)環(huán)境,,對(duì)每一個(gè)應(yīng)用一般還要另外收取版稅。一般不通供源代碼,,只提供二進(jìn)制代碼,。由于它們都是專(zhuān)用操作系統(tǒng),需要專(zhuān)門(mén)的技術(shù)人員掌握開(kāi)發(fā)技術(shù)和維護(hù),,所以軟件的開(kāi)發(fā)和維護(hù)成本都非常高,。支持的硬件數(shù)量有限。
Canonical- Ubuntu Core
Ubuntu是以桌面應(yīng)用為主的Linux發(fā)行版,,在玩家中很受歡迎,,也令2016年11月發(fā)布的專(zhuān)為物聯(lián)網(wǎng)打造的Ubuntu Core變得流行。Ubuntu Core屬于輕量級(jí)操作系統(tǒng),,并以“安全第一”的理念進(jìn)行設(shè)計(jì),。根據(jù)官方文檔,整個(gè)系統(tǒng)已經(jīng)過(guò)重新設(shè)計(jì),,以從第一次啟動(dòng)起就專(zhuān)注于安全性,。
Ubuntu Core具有防篡改功能。由于應(yīng)用程序可能來(lái)自不同的來(lái)源,,因此它們僅對(duì)自己的數(shù)據(jù)具有特權(quán),。這樣做是為了使一個(gè)設(shè)計(jì)不當(dāng)?shù)膽?yīng)用程序不會(huì)使整個(gè)系統(tǒng)容易受到攻擊。Ubuntu Core是為業(yè)務(wù)而構(gòu)建的,,這意味著開(kāi)發(fā)人員可以直接專(zhuān)注于手頭的應(yīng)用程序,,而其他要求則由默認(rèn)操作系統(tǒng)支持。
Ubuntu Core的另一個(gè)重要功能是安全應(yīng)用商店的可用性,,以及有一個(gè)現(xiàn)成的軟件生態(tài)系統(tǒng),,所以使用Ubuntu Core變得更加簡(jiǎn)單,。
RIOT
RIOT最初是由柏林自由大學(xué)(FU Berlin),、法國(guó)國(guó)家信息與自動(dòng)化研究所(INRIA)和漢堡應(yīng)用科技大學(xué)(HAW Hamburg)一同開(kāi)發(fā)的。RIOT基于微內(nèi)核架構(gòu),,其內(nèi)核基本上是從FireKernel繼承的,;這個(gè)內(nèi)核原本是為傳感器網(wǎng)絡(luò)開(kāi)發(fā)的。
和其他低內(nèi)存占用的系統(tǒng)(如TinyOS和Contiki)不同,, RIOT允許使用C語(yǔ)言和C++語(yǔ)言編寫(xiě)應(yīng)用程序,,而且提供完整的多線程和實(shí)時(shí)響應(yīng)解決方案。這令RIOT成為了一款“用戶(hù)友好型物聯(lián)網(wǎng)操作系統(tǒng)”,,支持許多低功耗IoT設(shè)備和各種微控制器架構(gòu),。
它對(duì)開(kāi)發(fā)人員的友好體現(xiàn)在支持標(biāo)準(zhǔn)環(huán)境和工具,,因此開(kāi)發(fā)人員無(wú)需經(jīng)歷陡峭的學(xué)習(xí)過(guò)程。支持標(biāo)準(zhǔn)編程語(yǔ)言,,例如C或C ++,,硬件相關(guān)的代碼非常少。開(kāi)發(fā)人員可以編寫(xiě)一次代碼,,然后在8位,,16位和32位單片機(jī)上運(yùn)行。RIOT也可以作為一個(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)。
RIOT也是資源友好和物聯(lián)網(wǎng)友好的,,它的重要功能之一是其支持輕型設(shè)備的能力,,可以實(shí)現(xiàn)較大的能耗。它支持多線程,,而線程開(kāi)銷(xiāo)很小,。RIOT提供多種通信協(xié)議棧,包括了IPv6,、6LoWPAN和內(nèi)容中心網(wǎng)絡(luò),。它還支持RPL、UDP,、TCP和CoAP,。
Contiki
Contiki的名字來(lái)自于歷史上最著名的探險(xiǎn)家之一托爾·海爾達(dá)爾(Thor Heyerdahl)制作的一艘帆船“康-提基號(hào)”(Kon-Tiki)。其基礎(chǔ)的內(nèi)核以及大部分的核心功能是由瑞典計(jì)算機(jī)科學(xué)研究所網(wǎng)絡(luò)內(nèi)嵌系統(tǒng)小組的Adam Dunkels開(kāi)發(fā)的,。
Contiki是一個(gè)小型,、開(kāi)源、極易移植的多任務(wù)操作系統(tǒng),,尤其適用于內(nèi)存受限的嵌入式系統(tǒng),。從8位電腦到微控制器,Contiki只需幾千字節(jié)的代碼和幾百字節(jié)的內(nèi)存就能提供多任務(wù)環(huán)境和內(nèi)建TCP/IP支持,。在一個(gè)較為典型的配置中,,Contiki系統(tǒng)只需2Kb的RAM與40Kb的ROM
Contiki包括了一個(gè)事件驅(qū)動(dòng)的內(nèi)核,因此可以在運(yùn)行時(shí)動(dòng)態(tài)加載上層應(yīng)用程序,。Contiki中使用輕量級(jí)的protothreads進(jìn)程模型,,可以在事件驅(qū)動(dòng)內(nèi)核上提供一種線性的、類(lèi)似于線程的編程風(fēng)格,。
Arm- Mbed OS
Mbed OS是一種單線程架構(gòu)的物聯(lián)網(wǎng)操作系統(tǒng),,由Arm和它的技術(shù)伙伴協(xié)作開(kāi)發(fā),。最新版本升級(jí)到了Mbed OS 5,集成了實(shí)時(shí)操作系統(tǒng)CMSIS-RTOS RTX的內(nèi)核,,使得Mbed OS可以支持確定性,、多線程實(shí)時(shí)程序,比如低時(shí)延的工業(yè)自動(dòng)化控制和車(chē)聯(lián)網(wǎng),。
Mbed OS 5可以運(yùn)行在所有Cortex-M系列的產(chǎn)品上,,并且具有良好的延展性。如果在處理性能要求不高的產(chǎn)品應(yīng)用,,可以只保留Mbed OS 5的核心功能,,使其可以運(yùn)行在只有8K內(nèi)存的Cortex-M0芯片上。
針對(duì)Mbed平臺(tái)的應(yīng)用可以使用Mbed在線IDE來(lái)開(kāi)發(fā),,它是免費(fèi)的在線代碼編輯器和編譯器,。只需在本地PC上安裝一個(gè)網(wǎng)頁(yè)瀏覽器,因?yàn)槟愕捻?xiàng)目是在云端編譯的,,就是說(shuō)是在遠(yuǎn)程服務(wù)器上使用ARMCC C/C++編譯器,。Mbed IDE 提供私有工作空間,有能力通過(guò)分布式Mercurial版本控制導(dǎo)入,、導(dǎo)出和分享代碼,,并且它還可以用于代碼文檔生成。應(yīng)用還可以使用其他開(kāi)發(fā)環(huán)境來(lái)開(kāi)發(fā),,比如Keil ?Vision,、IAR Embedded Workbench、和 Eclipse加上GCC Arm嵌入式工具,。
Keil- RTX
RTX操作系統(tǒng)是由KEIL公司(已被并入Arm旗下)開(kāi)發(fā)并進(jìn)行升級(jí)維護(hù)的一款嵌入式實(shí)時(shí)操作系統(tǒng),,使用標(biāo)準(zhǔn)的C結(jié)構(gòu)編寫(xiě),運(yùn)用RealView編譯器進(jìn)行編譯,,適用于 Arm Cortex-M 設(shè)備,。它不僅僅是一個(gè)實(shí)時(shí)內(nèi)核,還具備豐富的中間層組件,,不但免費(fèi),,而且代碼也是開(kāi)放的。
RTX的主要功能有開(kāi)始和停止任務(wù)(進(jìn)程),,除此之外還支持進(jìn)程通信,,例如任務(wù)的同步、共享資源(外設(shè)或內(nèi)存)的管理,、任務(wù)之間消息的傳遞。開(kāi)發(fā)者可以使用基本函數(shù)去開(kāi)啟實(shí)時(shí)運(yùn)行器,,去開(kāi)始和終結(jié)任務(wù),,以及去傳遞任務(wù)間的控制(輪轉(zhuǎn)調(diào)度),。開(kāi)發(fā)者可以賦予任務(wù)優(yōu)先級(jí)。
特點(diǎn)是支持時(shí)間片,,搶占式和合作式調(diào)度,。不限制數(shù)量的任務(wù),每個(gè)任務(wù)都具有254的優(yōu)先級(jí),。不限制數(shù)量的信號(hào)量,,互斥信號(hào)量,消息郵箱和軟定時(shí)器,。支持多線程和線程安全操作,。使用MDK基于對(duì)話框的配置向?qū)В梢院芊奖愕耐瓿蒑DK的配置,。
加州大學(xué)伯克利分校- TinyOS
TinyOS最初是加州大學(xué)伯克利分校(UC Berkeley)和英特爾研究院(Intel Research)為嵌入智能微塵而開(kāi)發(fā)的合作項(xiàng)目,,之后逐漸演變成一個(gè)國(guó)際合作項(xiàng)目,即TinyOS聯(lián)盟,。TinyOS使用nesC語(yǔ)言編寫(xiě),,是一款開(kāi)放源代碼操作系統(tǒng),它基于一種組件(Component-Based)的架構(gòu)方式,,使得能夠快速實(shí)現(xiàn)各種應(yīng)用,。
TinyOS設(shè)計(jì)之初的目的是制作一個(gè)專(zhuān)屬嵌入式無(wú)線傳感器網(wǎng)絡(luò)(WSN, wireless sensor network)的操作系統(tǒng)。但事實(shí)上,,由于良好的可擴(kuò)展性和足夠小的代碼尺寸,,TinyOS在物聯(lián)網(wǎng)的應(yīng)用領(lǐng)域中也占有非常重要的地位。
TinyOS的用戶(hù)社區(qū)十分活躍,,其用戶(hù)遍布學(xué)術(shù)界和產(chǎn)業(yè)界,。從一年中TinyOS被下載超過(guò)35000次這一事實(shí)可以理解TinyOS的流行。TinyOS非常有效地用于各種場(chǎng)景中,,例如傳感器網(wǎng)絡(luò),、智能建筑、智能電表等,。
亞馬遜- FreeRTOS
FreeRTOS是一個(gè)迷你的實(shí)時(shí)操作系統(tǒng)內(nèi)核,,2003年由 Richard Barry設(shè)計(jì)。作為一個(gè)輕量級(jí)的操作系統(tǒng),,整個(gè)核心代碼只有3到4個(gè)C文件,,為了讓代碼容易閱讀、移植和維護(hù),,大部分的代碼都是以C語(yǔ)言編寫(xiě),,只有一些函數(shù)(多數(shù)是架構(gòu)特定排班副程序)采用匯編語(yǔ)言編寫(xiě)。
其特點(diǎn)是用戶(hù)可配置內(nèi)核功能,、多平臺(tái)的支持,、目標(biāo)代碼小,,簡(jiǎn)單易用強(qiáng)大的執(zhí)行跟蹤功能、堆棧溢出檢測(cè),、沒(méi)有限制的任務(wù)數(shù)量和任務(wù)優(yōu)先級(jí),,多個(gè)任務(wù)可以分配相同的優(yōu)先權(quán)、隊(duì)列,,二進(jìn)制信號(hào)量,,計(jì)數(shù)信號(hào)燈和遞歸通信和同步的任務(wù)、優(yōu)先級(jí)繼承,。
FreeRTOS提供許多方法以實(shí)現(xiàn)多線程(threads),、多作業(yè)(task)、互斥鎖(mutex),、信號(hào)量(semaphore)和軟件計(jì)時(shí)器(software timer),,有個(gè)為低耗電應(yīng)用程序提供的無(wú)嘀嗒(tick-less)模式,線程的優(yōu)先權(quán)管理也有支持,。主要功能包括:任務(wù)管理,、時(shí)間管理、信號(hào)量,、消息隊(duì)列,、內(nèi)存管理、記錄功能,、軟件定時(shí)器,、協(xié)程等,可基本滿足較小系統(tǒng)的需要,。
該操作系統(tǒng)由于簡(jiǎn)單和易用,,在輕量級(jí)的CPU上目前很多廠商都用這個(gè)國(guó)外系統(tǒng),并已被經(jīng)成功移植到35種不同的微控制器上,。FreeRTOS采用MIT許可證許可,。
微軟- Windows 10 IoT
Windows IoT曾經(jīng)叫做Windows Embedded,是微軟的嵌入式系列產(chǎn)品家族,,微軟在開(kāi)始發(fā)行Windows 10嵌入式版本時(shí)將“Windows Embedded”更名為“Windows IoT”,。該系統(tǒng)以各種物聯(lián)網(wǎng)設(shè)備為目標(biāo),從小型的工業(yè)網(wǎng)關(guān)到較大型且更復(fù)雜的設(shè)備 (例如:控制醫(yī)療設(shè)備,、ATM),,適合自動(dòng)化制造、零售,、醫(yī)療,、軍事、金融、航天等嵌入式設(shè)備所使用,。
目前包括四大系列:Windows Embedded Standard,、Windows Embedded Compact,、Windows Embedded Enterprise,、Windows Embedded POSReady。
2020年5月,,微軟宣布將把Windows 10 IoT Core及Windows 10 IoT Enterprise兩個(gè)版本合并為一,,預(yù)計(jì)2021年釋出第一版,同時(shí)也承諾新版本將更精簡(jiǎn),,且增加執(zhí)行Linux容器等新功能,。
谷歌- Fuchsia
2016年,谷歌被曝出正在基于微內(nèi)核Zircon研發(fā)名為“Fuchsia”的物聯(lián)網(wǎng)OS,,外界猜測(cè)Fuchsia是谷歌試圖使用單一操作系統(tǒng)統(tǒng)一整個(gè)生態(tài)圈的嘗試,,即一個(gè)操作系統(tǒng)可以在智能手表、智能音箱,、筆記本,、智能手機(jī)等在內(nèi)的設(shè)備上運(yùn)行。
與基于Linux內(nèi)核的Chrome OS和Android等不同,,F(xiàn)uchsia基于新的名為Zircon的微內(nèi)核,,受Little Kernel啟發(fā),用于嵌入式系統(tǒng),,主要使用C語(yǔ)言和C++編寫(xiě),。
Fuchsia的用戶(hù)界面與應(yīng)用使用“Flutter”開(kāi)發(fā),得益于Flutter提供的跨平臺(tái)能力,,用戶(hù)可以在Android設(shè)備上安裝一部分Fuchsia,。
Fuchsia的形象標(biāo)識(shí)是個(gè)粉紅色的無(wú)限符號(hào)。作為免費(fèi)和開(kāi)源軟件分發(fā),,采用三句版BSD,,MIT和Apache 2.0軟件許可證。
Linux基金會(huì)- Zephyr
Zephyr最初是風(fēng)河系統(tǒng)公司在2015年11月推出的為物聯(lián)網(wǎng)設(shè)備開(kāi)發(fā)的“Rocket內(nèi)核”,,更早時(shí)稱(chēng)為“Microkernel Profile for VxWorks”,,代碼移植于2001年并購(gòu)Eonic Systems得來(lái)的Virtuoso DSP RTOS。2016年2月,,它成為L(zhǎng)inux基金會(huì)的項(xiàng)目而改稱(chēng)現(xiàn)名,。
Zephyr是支持多種架構(gòu)的小型實(shí)時(shí)操作系統(tǒng),并針對(duì)資源受限的環(huán)境進(jìn)行了優(yōu)化,。適用于從簡(jiǎn)單的嵌入式環(huán)境傳感器和LED可穿戴設(shè)備,,到復(fù)雜的智能手表和IoT無(wú)線網(wǎng)關(guān)。下面列出了Zephyr的主要功能:
支持150多個(gè)板。
完全的靈活性和選擇自由,。
可以處理體積小的物聯(lián)網(wǎng)設(shè)備,。
可以開(kāi)發(fā)具有內(nèi)置安全功能的產(chǎn)品。
在Zephyr設(shè)計(jì)中,,安全性也很重要,,設(shè)立了專(zhuān)門(mén)機(jī)制來(lái)維護(hù)或改進(jìn)安全性。
Micrium-μC/OS-II
μC/OS由Micrium公司提供,,是一個(gè)可移植,、可固化的、可裁剪的,、占先式多任務(wù)的開(kāi)源實(shí)時(shí)內(nèi)核,,專(zhuān)為嵌入式應(yīng)用設(shè)計(jì),可用于8位,、16位和32位單片機(jī)或數(shù)字信號(hào)處理器(DSP),。μC/OS-Ⅱ是在原版本μC/OS的基礎(chǔ)上做了重大改進(jìn)與升級(jí),目前已經(jīng)升級(jí)到了μC/OS-III,。源代碼開(kāi)放,、整潔、一致,,注釋詳盡,,適合系統(tǒng)開(kāi)發(fā),已有近十年的使用實(shí)踐,,有許多成功應(yīng)用該實(shí)時(shí)內(nèi)核的實(shí)例,。
μC/OS-Ⅱ的主要特點(diǎn)如下:
1)公開(kāi)源代碼,容易就能把操作系統(tǒng)移植到各個(gè)不同的硬件平臺(tái)上,;
可移植性,,絕大部分源代碼是用C語(yǔ)言寫(xiě)的,便于移植到其他微處理器上,;
2)可固化,;
3)可裁剪性,有選擇的使用需要的系統(tǒng)服務(wù),,以減少斗所需的存儲(chǔ)空間,;
4)占先式,完全是占先式的實(shí)時(shí)內(nèi)核,,即總是運(yùn)行就緒條件下優(yōu)先級(jí)最高的任務(wù),;
5)多任務(wù),可管理64個(gè)任務(wù),,任務(wù)的優(yōu)先級(jí)必須是不同的,,不支持時(shí)間片輪轉(zhuǎn)調(diào)度法,;
6)可確定性,函數(shù)調(diào)用與服務(wù)的執(zhí)行時(shí)間具有其可確定性,,不依賴(lài)于任務(wù)的多少,;
7)實(shí)用性和可靠性,成功應(yīng)用該實(shí)時(shí)內(nèi)核的實(shí)例,,是其實(shí)用性和可靠性的最好證據(jù),。
嚴(yán)格地說(shuō),μC/OS僅是一個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核,,它僅僅包含了任務(wù)調(diào)度,,任務(wù)管理,,時(shí)間管理,,內(nèi)存管理和任務(wù)間的通信和同步等基本功能。沒(méi)有提供輸入輸出管理,,文件系統(tǒng),,網(wǎng)絡(luò)等額外的服務(wù)。但由于uC/OS良好的可擴(kuò)展性和源碼開(kāi)放,,這些非必須的功能完全可以由用戶(hù)自己根據(jù)需要分別實(shí)現(xiàn),。
嵌入式Linux
嵌入式linux是一類(lèi)嵌入式操作系統(tǒng)的概稱(chēng),這類(lèi)型的操作系統(tǒng)皆以Linux內(nèi)核為基礎(chǔ),,被設(shè)計(jì)來(lái)使用于嵌入式設(shè)備,。由于其源代碼公開(kāi),人們可以任意修改,,以滿足自己的應(yīng)用,,并且查錯(cuò)也很容易。遵從GPL,,無(wú)須為每例應(yīng)用交納許可證費(fèi),。有大量的應(yīng)用軟件可用,其中大部分都遵從GPL,,是開(kāi)放源代碼和免費(fèi)的,,可以稍加修改后應(yīng)用于用戶(hù)自己的系統(tǒng)。
此外還有大量的免費(fèi)的優(yōu)秀的開(kāi)發(fā)工具,,都遵從GPL并且是開(kāi)放源代碼的,。有龐大的開(kāi)發(fā)人員群體,無(wú)需專(zhuān)門(mén)的人才,,只要懂Unix/Linux和C語(yǔ)言即可,。隨著Linux在中國(guó)的普及,這類(lèi)人才越來(lái)越多,。所以軟件的開(kāi)發(fā)和維護(hù)成本很低,。此外穩(wěn)定的網(wǎng)絡(luò)功能是Linux本身具備的一個(gè)很大優(yōu)點(diǎn)。內(nèi)核精悍,運(yùn)行所需資源少,,典型的嵌入式Linux安裝大概需要2MB的系統(tǒng)存儲(chǔ)器,。
嵌入式Linux和普通Linux并無(wú)本質(zhì)區(qū)別,PC上用到的硬件嵌入式Linux幾乎都支持,。而且各種硬件的驅(qū)動(dòng)程序源代碼都可以得到,,為用戶(hù)編寫(xiě)自己專(zhuān)有硬件的驅(qū)動(dòng)程序帶來(lái)很大方便在嵌入式。
系統(tǒng)上運(yùn)行Linux的一個(gè)缺點(diǎn)是Linux體系提供實(shí)時(shí)性能需要添加實(shí)時(shí)軟件模塊,。而這些模塊運(yùn)行的內(nèi)核空間正是操作系統(tǒng)實(shí)現(xiàn)調(diào)度策略,、硬件中斷異常和執(zhí)行程序的部分。由于這些實(shí)時(shí)軟件模塊是在內(nèi)核空間運(yùn)行的,,因此代碼錯(cuò)誤可能會(huì)破壞操作系統(tǒng)從而影響整個(gè)系統(tǒng)的可靠性,,這對(duì)于實(shí)時(shí)應(yīng)用將是一個(gè)非常嚴(yán)重的弱點(diǎn)。
RIM- QNX
QNX主要針對(duì)嵌入式系統(tǒng)市場(chǎng),,其本身雖然并不屬于UNIX,,但由于其支持POSIX,使得多數(shù)傳統(tǒng)UNIX程序在微量修改(甚至不需修改)后即可在QNX上面編譯與執(zhí)行,,算是一款商業(yè)類(lèi)Unix實(shí)時(shí)操作系統(tǒng),。該產(chǎn)品開(kāi)發(fā)于20世紀(jì)80年代初,后來(lái)改名為QNX軟件系統(tǒng)公司,,公司已被Research In Motion公司(RIM,, 黑莓手機(jī)制造商)并購(gòu)。
QNX是最成功的微內(nèi)核操作系統(tǒng)之一,,多數(shù)功能是以許多小型的task來(lái)執(zhí)行,,它們被稱(chēng)為server。這樣的架構(gòu)使得用戶(hù)和開(kāi)發(fā)者可以關(guān)閉不需要的功能,,而不需要改變操作系統(tǒng)本身,。
QNX Neutrino(2001)具有微內(nèi)核實(shí)時(shí)平臺(tái),實(shí)時(shí),、穩(wěn)定,、可靠、運(yùn)行速度快,,已經(jīng)被移植到許多平臺(tái),,并且運(yùn)行在嵌入式市場(chǎng)中使用的各種現(xiàn)代處理器上,例如X86,、PowerPC等,。QNX在汽車(chē)領(lǐng)域得到了極為廣泛的應(yīng)用,如保時(shí)捷跑車(chē)的音樂(lè)和媒體控制系統(tǒng)和美國(guó)陸軍無(wú)人駕駛Crusher坦克的控制系統(tǒng),,還有RIM公司的blackberry playbook平板電腦,。
Nucleus
Nucleus即時(shí)操作系統(tǒng)(Nucleus RTOS)是Mentor Graphics(已更名Siemens EDA)旗下Accelerated Technology公司所推出的嵌入式操作系統(tǒng),。Nucleus的好處是程序員不用再撰寫(xiě)板支持套裝軟件(BSP),并且約95%的代碼用ANSI C編寫(xiě),,非常便于移植并能夠支持大多數(shù)類(lèi)型的處理器,,同時(shí)可提供網(wǎng)絡(luò)、圖形用戶(hù)界面,、文件系統(tǒng)等模塊支持,。
在典型的目標(biāo)環(huán)境中,Nucleus PLUS核心代碼區(qū)一般不超過(guò)20K字節(jié)大小,。從實(shí)現(xiàn)角度來(lái)看,,Nucleus PLUS是一組C函數(shù)庫(kù),應(yīng)用程序代碼與核心函數(shù)庫(kù)連接在一起,,生成一個(gè)目標(biāo)代碼,,下載到目標(biāo)板的RAM中或直接燒錄到目標(biāo)板的ROM中執(zhí)行。由于采用了軟件組件的方法,,Nucleus PLUS各個(gè)組件非常易于替換和復(fù)用,。Nucleus PLUS的組件包括任務(wù)控制、內(nèi)存管理,、任務(wù)間通信、任務(wù)的同步與互斥,、中斷管理,、定時(shí)器及I/O驅(qū)動(dòng)等。
Nucleus RTOS提供注釋嚴(yán)格的C源級(jí)代碼給每一個(gè)用戶(hù),。
微軟- ThreadX
ThreadX 是由美國(guó)Express Logic公司(2019年被微軟收購(gòu))開(kāi)發(fā)的實(shí)時(shí)操作系統(tǒng),。ThreadX的作者是Willian Lamie,他也曾是Nucleus的作者,,并且曾是Express Logic公司的CEO,。
ThreadX名字是由來(lái)有兩個(gè)方面,線程(Thread)是操作系統(tǒng)的可執(zhí)行單元,, “X”表示上下文切換,。ThreadX的線程共享同一內(nèi)存空間,資源可共享,。
和許多其他實(shí)時(shí)操作系統(tǒng)類(lèi)似,,ThreadX是多任務(wù)系統(tǒng),采用搶占式調(diào)度,,快速的中斷響應(yīng),,獨(dú)立內(nèi)存管理,支持線程間通信,,互斥,,事件和線程同步,。
ThreadX主要的特點(diǎn)是支持優(yōu)先級(jí)繼承,搶占閾值的設(shè)計(jì),,微內(nèi)核設(shè)計(jì),,代碼空間占用小等。ThreadX源代碼采用免版稅使用模式(royalty-free),。
ThreadX 通常應(yīng)用在嵌入式操作系統(tǒng)中,。大部分的開(kāi)發(fā)工作在主機(jī)上完成,主機(jī)運(yùn)行Windows或Linux系統(tǒng),,交叉編譯器可以在主機(jī)上生成目標(biāo)系統(tǒng)的機(jī)器碼,,然后下載到目標(biāo)板上運(yùn)行。
幾種可以識(shí)別threadx系統(tǒng)(OS-aware)的開(kāi)發(fā)工具,,包括 Wind River Workbench,,ARM RealView,GreenHills Software's MULTI, Metrowerks CodeWarrior, IAR C-SPY, Lauterbach TRACE32 和 visionCLICK,。
ThreadX 支持的架構(gòu)包括 ARM,,X86, ARC, MIPS,Xtensa等等,, 幾乎涵蓋所有主流CPU架構(gòu),。
國(guó)內(nèi)
華為- LiteOS
2015年Huawei LiteOS發(fā)布,2016年9月推出開(kāi)源版本,,Kernel源代碼開(kāi)源,,大小只有10K,是華為針對(duì)物聯(lián)網(wǎng)領(lǐng)域推出的輕量級(jí)物聯(lián)網(wǎng)操作系統(tǒng),,是華為物聯(lián)網(wǎng)戰(zhàn)略的重要組成部分,。具備輕量級(jí)、低功耗,、互聯(lián)互通,、組件豐富、快速開(kāi)發(fā)等關(guān)鍵能力,,基于物聯(lián)網(wǎng)領(lǐng)域業(yè)務(wù)特征打造領(lǐng)域性技術(shù)棧,,為開(kāi)發(fā)者提供 “一站式” 完整軟件平臺(tái),有效降低開(kāi)發(fā)門(mén)檻,、縮短開(kāi)發(fā)周期,,可廣泛應(yīng)用于可穿戴設(shè)備、智能家居,、車(chē)聯(lián)網(wǎng),、LPWA等領(lǐng)域。
關(guān)鍵特性包括低功耗框架,、OpenCPU架構(gòu),、安全性設(shè)計(jì),、端云互通組件和SOTA遠(yuǎn)程升級(jí)等。
華為- 鴻蒙HarmonyOS(含LiteOS內(nèi)核)
華為HarmonyOS是一款面向全場(chǎng)景(移動(dòng)辦公,、運(yùn)動(dòng)健康,、社交通信、媒體娛樂(lè)等)的分布式操作系統(tǒng),。在傳統(tǒng)的單設(shè)備系統(tǒng)能力的基礎(chǔ)上,,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,,能夠支持多種終端設(shè)備,。HarmonyOS的主要特點(diǎn)是分布式,包括軟總線,、設(shè)備虛擬化,、數(shù)據(jù)管理和任務(wù)調(diào)度方面。同時(shí)具備一次開(kāi)發(fā),,多端部署,;統(tǒng)一OS,彈性部署的特點(diǎn),。
HarmonyOS主要有Linux,、HarmonyOS內(nèi)核、Lite OS三種內(nèi)核,,默認(rèn)采用LiteOS,,而且HarmonyOS內(nèi)核文件中可以看到liteos-a和liteos-m字樣,推測(cè)出HarmonyOS內(nèi)核對(duì)于LiteOS內(nèi)核具有一定的繼承性,。多內(nèi)核設(shè)計(jì)可以在支持針對(duì)不同資源受限設(shè)備時(shí),選則適合的內(nèi)核,。從另一個(gè)角度講,,LiteOS內(nèi)核也不僅限于給HarmonyOS用,支持的硬件甚至比HarmonyOS還豐富一些,,提供了更多內(nèi)核案例和移植策略,,從代碼來(lái)看,它們都支持Cortex-M內(nèi)核和Cortex-A內(nèi)核,。
——————小疑問(wèn):LiteOS和鴻蒙有啥不同,?————
兩者因?qū)Ξa(chǎn)品定位的不同,在對(duì)內(nèi)存和資源的消耗上也有不同,。
HUAWEI LiteOS因?yàn)槠渚哂泻芨叩募舨锰匦?,在硬件資源有限的時(shí)候的僅保留內(nèi)核,可以剪裁到6KB ROM以及消耗2KB RAM資源,,可以說(shuō)對(duì)資源的消耗是低到一定程度,,而HarmonyOS為了保證系統(tǒng)性能要求,,對(duì)硬件的資源則是128K ROM及2MB RAM的要求。
所以HUAWEI LiteOS主打物聯(lián)網(wǎng)業(yè)務(wù)領(lǐng)域,,更適合硬件低配置,、低成本、低功耗的應(yīng)用場(chǎng)景,;HarmonyOS更適合多媒體交互,,需要Js增加開(kāi)發(fā)效率的復(fù)雜大應(yīng)用的場(chǎng)合使用。HarmonyOS目前的開(kāi)發(fā)板支持還是以華為自研芯片為主,,HUAWEI LiteOS除了支持華為自研芯片外,,還支持了市場(chǎng)上主流的Arm開(kāi)發(fā)學(xué)習(xí)板。
阿里巴巴- AliOS Things
阿里做OS起源于移動(dòng)操作系統(tǒng)YunOS,,距今已近10年,,后整合升級(jí)為AliOS。其中AliOS Things是AliOS家族專(zhuān)門(mén)針對(duì)物聯(lián)網(wǎng)領(lǐng)域的,、高可裁剪,、輕量級(jí)的嵌入式操作系統(tǒng),致力于搭建云端一體化物聯(lián)網(wǎng)基礎(chǔ)設(shè)備,。具備極致性能,,極簡(jiǎn)開(kāi)發(fā)、云端一體,、豐富組建,、安全防護(hù)等關(guān)鍵能力,并支持終端設(shè)備連接到阿里云Link,,可廣泛應(yīng)用在智能家居,、智慧城市、新出行等領(lǐng)域,。
2017年10月,,AliOS Things正式開(kāi)源。
AliOS Things采用微內(nèi)核架構(gòu),,能夠?qū)⒃谥悄苡布线\(yùn)行的軟件容器化和在線化升級(jí),,這意味軟硬件可以快速解耦、運(yùn)維,,降低了硬件廠商的生產(chǎn)與維護(hù)成本,。據(jù)阿里官方介紹,這是一款專(zhuān)用于AIoT智能設(shè)備的操作系統(tǒng),,具備全新開(kāi)發(fā)模式,、在線裁剪工具、應(yīng)用與內(nèi)核分離、腳本語(yǔ)言支持,、本地AI框架等特性,。
另外,AliOS Things也是平頭哥YoC軟件平臺(tái)的核心,。
賽睿德- RT-Thread
RT-Thread發(fā)布于2006年,,是一個(gè)集RTOS內(nèi)核、中間件組件和開(kāi)發(fā)者社區(qū)于一體的技術(shù)平臺(tái),,由熊譜翔先生帶領(lǐng)并集合開(kāi)源社區(qū)力量開(kāi)發(fā)而成,,RT-Thread也是一個(gè)組件完整豐富、高度可伸縮,、簡(jiǎn)易開(kāi)發(fā),、超低功耗、高安全性的物聯(lián)網(wǎng)操作系統(tǒng),。RT-Thread具備一個(gè)物聯(lián)網(wǎng)操作系統(tǒng)平臺(tái)所需的所有關(guān)鍵組件,,例如GUI、網(wǎng)絡(luò)協(xié)議棧,、安全傳輸,、低功耗組件等等。
官方資料顯示,,RT-Thread目前擁有國(guó)內(nèi)最大的嵌入式開(kāi)源社區(qū),,同時(shí)被廣泛應(yīng)用于能源、車(chē)載,、醫(yī)療,、消費(fèi)電子等多個(gè)行業(yè),累積裝機(jī)量超過(guò)8億臺(tái),,成為國(guó)人自主開(kāi)發(fā),、國(guó)內(nèi)最成熟穩(wěn)定和裝機(jī)量最大的開(kāi)源RTOS。
RT-Thread擁有良好的軟件生態(tài),,支持市面上所有主流的編譯工具如GCC,、Keil、IAR等,,工具鏈完善、友好,,支持各類(lèi)標(biāo)準(zhǔn)接口,,如POSIX、CMSIS,、C++應(yīng)用環(huán)境,、Javascript執(zhí)行環(huán)境等,方便開(kāi)發(fā)者移植各類(lèi)應(yīng)用程序,。商用支持所有主流MCU架構(gòu),,如ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,,幾乎支持市場(chǎng)上所有主流的MCU和Wi-Fi芯片。
中移物聯(lián)- OneOS
OneOS是中國(guó)移動(dòng)針對(duì)物聯(lián)網(wǎng)領(lǐng)域推出的輕量級(jí)操作系統(tǒng),,2018年開(kāi)始頂層設(shè)計(jì),,2020年6月正式對(duì)外發(fā)布開(kāi)源版本。該系統(tǒng)具有可裁剪,、跨平臺(tái),、低功耗、高安全等特點(diǎn),,支持Arm Cortex-M/R/A,、MIPS、RISC-V等主流CPU架構(gòu),,兼容POSIX,、CMSIS等標(biāo)準(zhǔn)接口,支持Micropython語(yǔ)言開(kāi)發(fā),,提供圖形化開(kāi)發(fā)工具,,能夠有效提高開(kāi)發(fā)效率并降低開(kāi)發(fā)成本,幫助客戶(hù)開(kāi)發(fā)穩(wěn)定可靠,、安全易用的物聯(lián)網(wǎng)應(yīng)用,。
OneOS遵循Apache許可證2.0版本,個(gè)人,、企業(yè)客戶(hù)可以免費(fèi)在商業(yè)產(chǎn)品中使用,,不需要公布源碼,沒(méi)有潛在商業(yè)風(fēng)險(xiǎn),。中移物聯(lián)網(wǎng)表示,,將秉承開(kāi)放合作的態(tài)度,免費(fèi)為客戶(hù)提供適用于各種物聯(lián)網(wǎng)場(chǎng)景的穩(wěn)定系統(tǒng),。
騰訊- TencentOS tiny
TencentOS tiny是騰訊面向物聯(lián)網(wǎng)領(lǐng)域開(kāi)發(fā)的實(shí)時(shí)操作系統(tǒng),,具有低功耗、低資源占用,、模塊化,、安全可靠等特點(diǎn),可有效提升物聯(lián)網(wǎng)終端產(chǎn)品開(kāi)發(fā)效率,。
TencentOS tiny號(hào)稱(chēng)業(yè)界最小,,只有1.8K,提供精簡(jiǎn)的RTOS內(nèi)核,,內(nèi)核組件可裁剪可配置,,可快速移植到多種主流MCU及模組芯片上。基于RTOS內(nèi)核提供了豐富的物聯(lián)網(wǎng)組件,,內(nèi)部集成主流物聯(lián)網(wǎng)協(xié)議棧(如CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),,可助力物聯(lián)網(wǎng)終端設(shè)備及業(yè)務(wù)快速接入騰訊云物聯(lián)網(wǎng)平臺(tái)。
有意思的是,,這款操作系統(tǒng)推出不久后騰訊曾宣布,,TencentOS將于2017年6月28日停止服務(wù)。當(dāng)時(shí)給出的解釋是,,“因?yàn)榈谌絉OM市場(chǎng)萎縮,,TencentOS要退出歷史舞臺(tái)了?!?/p>
但面對(duì)物聯(lián)網(wǎng)市場(chǎng)的前景,,2019年9月,騰訊還是宣布TencentOS tiny開(kāi)源,,希望以此進(jìn)一步推動(dòng)其物聯(lián)網(wǎng)生態(tài)的繁榮,。目前,TencentOS tiny已支持意法半導(dǎo)體,、恩智浦,、華大半導(dǎo)體、瑞興恒方,、國(guó)民技術(shù)等主流廠商多種芯片和模組,。不過(guò),與華為,、阿里強(qiáng)勢(shì)且全面的生態(tài)布局相比,,騰訊還有很長(zhǎng)一段路要走。
慶科- MiCO
2014年7月,,上海慶科(Mxchip)攜手阿里云發(fā)布了MiCO(Micro-controller based Internet Connectivity Operating System),,這是一個(gè)面向智能硬件優(yōu)化設(shè)計(jì)的、運(yùn)行在微控制器上的,、高度可移植的操作系統(tǒng)和中間件開(kāi)發(fā)平臺(tái),。當(dāng)時(shí)慶科稱(chēng),這是中國(guó)首款真正意義上的物聯(lián)網(wǎng)操作系統(tǒng),。
作為獨(dú)立的系統(tǒng),,MiCO擁有開(kāi)放架構(gòu),并不依賴(lài)于MCU型號(hào),,同時(shí)具有硬件抽象層(HAL),。此外,固件的應(yīng)用開(kāi)放接口已實(shí)現(xiàn)多種應(yīng)用層協(xié)議:海爾,、美的、AO、Apple MFi ,、HomeKit,、Siri語(yǔ)音控制等。MiCO包括了底層的芯片驅(qū)動(dòng),、無(wú)線網(wǎng)絡(luò)協(xié)議,、射頻控制技術(shù)、安全,、應(yīng)用框架等模塊,。
MiCO 內(nèi)含一個(gè)面向 IoT 設(shè)備的實(shí)時(shí)操作系統(tǒng)內(nèi)核,適合運(yùn)行在資源受限的微控制設(shè)備上,。此外,,MiCO 還包含了網(wǎng)絡(luò)通信協(xié)議棧、安全算法和協(xié)議,、硬件抽象層,、編程工具等開(kāi)發(fā) IoT 必不可少的軟件功能包。MiCO 提供 MCU 平臺(tái)的抽象化,,使得基于 MiCO 的應(yīng)用程序開(kāi)發(fā)不需要關(guān)心 MCU 具體件功能的實(shí)現(xiàn),,通過(guò) MiCO 中提供的各種編程組件快速構(gòu)建 IoT 設(shè)備中的軟件。
翼輝- SylixOS
SylixOS是翼輝信息自主設(shè)計(jì)研發(fā)的大型嵌入式硬實(shí)時(shí)操作系統(tǒng),,從2006年便開(kāi)始開(kāi)發(fā)工作,,據(jù)工信部評(píng)估報(bào)告內(nèi)核自主化率100%。支持對(duì)稱(chēng)多處理器(SMP)平臺(tái),,具有豐富的文件系統(tǒng),、網(wǎng)絡(luò)系統(tǒng)以及眾多設(shè)備驅(qū)動(dòng)支持,并提供完善的集成開(kāi)發(fā)環(huán)境,。應(yīng)用領(lǐng)域主要有網(wǎng)絡(luò)設(shè)備,、國(guó)防安全、工業(yè)自動(dòng)化,、軌道交通,、電力、醫(yī)療,、航空航天,、汽車(chē)電子等。
從全球范圍上看,,SylixOS作為實(shí)時(shí)操作系統(tǒng)的后來(lái)者,,在設(shè)計(jì)思路上借鑒了眾多實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)思想,其中就包括RTEMS,、VxWorks,、ThreadX等,。它的誕生可以擺脫國(guó)內(nèi)一些關(guān)鍵性設(shè)備對(duì)國(guó)外嵌入式操作系統(tǒng)的依賴(lài),為國(guó)內(nèi)的嵌入式信息技術(shù)行業(yè)提供一個(gè)全新的選擇,。
為了保證 SylixOS 能夠持續(xù)開(kāi)發(fā),,并且吸引大批開(kāi)發(fā)人員參與測(cè)試,SylixOS 目前是以公開(kāi)源代碼項(xiàng)目的形式存在,。據(jù)官網(wǎng)顯示,,該操作系統(tǒng)源碼已經(jīng)授權(quán)給了多家國(guó)內(nèi)科研機(jī)構(gòu),包括中國(guó)航天科工集團(tuán),、中國(guó)航天科技集團(tuán),、龍芯中科、國(guó)防科學(xué)技術(shù)大學(xué)等,,推出了SylixOS海鷹翼輝,、風(fēng)云翼輝、龍芯翼輝,、麒麟翼輝等發(fā)行版本,。
————————我是分割線——————
目前國(guó)內(nèi)物聯(lián)網(wǎng)操作系統(tǒng)可謂百花齊放,除上述這些,,還有新華三的綠洲OS,、海爾的UHomeOS、科銀京成的Deltaos(道系統(tǒng)),、秦簡(jiǎn)計(jì)算機(jī)的DJYOS,、致遠(yuǎn)電子的AworksOS、中航計(jì)算所的AcoreOS(天脈),、凱思昊鵬的HopenOS等等,。但是總體而言,全球物聯(lián)網(wǎng)市場(chǎng)大部分還是國(guó)外操作系統(tǒng)的天下,,特別是較早進(jìn)入市場(chǎng)的美國(guó)公司,,比如ThreadX、FreeRTOS,、vxWorks等,。
小結(jié)
目前物聯(lián)網(wǎng)操作系統(tǒng)市場(chǎng)上,除了一些老牌國(guó)外廠商的產(chǎn)品,,其余十幾種都處在發(fā)展初期,,產(chǎn)業(yè)鏈中并未形成某一個(gè)或幾個(gè)OS壟斷的環(huán)境。對(duì)于互聯(lián)網(wǎng)大廠這種有生態(tài)又不缺錢(qián)的主來(lái)說(shuō),,很多還是希望使用自家開(kāi)發(fā)定制的OS,,從一定程度上也造成了行業(yè)內(nèi)山頭林立,各自為政,。
另一方面,,開(kāi)源Linux和RTOS還是物聯(lián)網(wǎng)市場(chǎng)主流,,除具備自家OS外的企業(yè),其余廠商大多采用具有生態(tài)優(yōu)勢(shì),,并且開(kāi)源,、中立的第三方操作系統(tǒng),例如RT-Thread,。
操作系統(tǒng)不能作為單一產(chǎn)品而存在,而應(yīng)該是一個(gè)生態(tài)系統(tǒng),,需要硬件和軟件開(kāi)發(fā)者的支持,。Windows和安卓系統(tǒng)們?cè)赑C時(shí)代和智能手機(jī)時(shí)代掌握了先機(jī),形成壟斷,,令后來(lái)者難以顛覆,,智能期待下一波計(jì)算革命。
根據(jù)BCG波士頓咨詢(xún)的市場(chǎng)分析,,大約80%的成功者在前5年就獲得了超過(guò)50%的市場(chǎng)份額,,他們平均使用7年時(shí)間達(dá)到市場(chǎng)份額的峰值,市場(chǎng)占有率約為80%,。反觀失敗者的數(shù)據(jù),,他們?cè)谇?年獲得的市場(chǎng)份額平均值為8%,峰值也僅為13%,。比如微軟的Windows Phone和黑莓的操作系統(tǒng),,它們的峰值市場(chǎng)份額僅為15%。
如今,,物聯(lián)網(wǎng)操作系統(tǒng)市場(chǎng)更多全新的機(jī)會(huì)正在開(kāi)啟,,舊日霸主未必能在物聯(lián)網(wǎng)時(shí)代延續(xù)霸業(yè),新興玩家們只有抓住時(shí)機(jī)迅速擴(kuò)大規(guī)模,,把握先發(fā)優(yōu)勢(shì),,才能占領(lǐng)物聯(lián)網(wǎng)時(shí)代的制高點(diǎn)。如果無(wú)法快速擴(kuò)大市場(chǎng)占有率,,可能連參賽的資格都沒(méi)有就已出局,。
在各種新興市場(chǎng)上,海外企業(yè)并沒(méi)有絕對(duì)優(yōu)勢(shì),,這給國(guó)內(nèi)企業(yè)自研操作系統(tǒng)創(chuàng)造了機(jī)會(huì),。例如智能硬件和物聯(lián)網(wǎng)上布局廣泛的華為、小米,、BAT等國(guó)內(nèi)企業(yè)們,,也在一定程度上推動(dòng)了國(guó)產(chǎn)物聯(lián)網(wǎng)操作系統(tǒng)的崛起。