2018年,物聯網對行業的深度變革已轟然開啟。物聯網產業鏈企業的質與量將進入全面爆發期。物聯網智庫作為物聯網全周期觀察者和信息服務聚焦中心,被產業推動,亦將反哺于產業升級。自2016年起,物聯網智庫每年一度推出《全國物聯網產業全景圖譜》,為從業者提供物聯網全視角跟蹤和分析,切實踐行物聯網業內的信息對稱化。
然而,隨著物聯網產業狂奔式升級,一年一度的全景圖譜發布,已遠遠滿足不了高歌猛進的發展速度和企業訴求。基于上述事實,《全國物聯網產業全景圖譜》決定進行重大改版升級:
(1)一年一度的靜態,將濃縮為更短周期的“動態更新”;
(2)大而全的企業收錄方式,將嵌入符合產業事實標準的篩選標準,弱水三千,只取優上;
(3)對物聯網企業的基本信息收錄,將升級為更豐富更深度的信息整合與加工;
(4)對于物聯網產業全版塊的關注,將升級為側重關注重點領域、潛力賽道的權重分配。
首次被翻牌的重點版塊包括:物聯網芯片(計算芯片、通信芯片為主)、授權頻譜物聯網網絡、非授權頻譜物聯網網絡、 物聯網操作系統、物聯網PaaS云平臺、公用事業、智能安防攝像頭、智能家居、 智慧消防、智慧物流、智能門鎖、智能照明等十余個技術類別/垂直領域。
物聯網智庫將持續發布上述領域的企業信息的簡版匯總。如果因為我們的疏漏,錯過了哪些物聯網產業優上企業,煩請聯系我們,不吝賜教。
物聯網操作系統作為物聯網時代戰略的制高點,引來了眾多企業的參與和布局。1980年RT操作系統的kernel誕生;到了1990年有了RT操作系統;2000年之后開源的Linux開始風行;2010年的Android主導了移動終端市場并輻射嵌入式應用; 而如今,物聯網操作系統時代如約來臨。幾乎以十年為一屆的的時代變革之風吹起了眾多的科技企業,在操作系統生態建設的同時,也成就了偉大的科技公司。谷歌、蘋果、微軟等無一不是如此,在個人電腦走向千家萬戶時,微軟抓住了機會,成為電腦操作系統霸主。在智能手機成為隨身必備之物時,谷歌和蘋果抓住了機會,成為手機操作系統市場雙雄。
然而,在物聯網操作系統的初期,由于碎片化的物聯網應用以及多樣化的物聯網終端設備,促使物聯網操作系統并沒有像PC或手機操作系統一樣,很快統一,形成1家或2家公司制霸的格局。隨著物聯網市場的不斷發展,2014年左右,大批的物聯網操作系統服務商開始涌現,其中不乏芯片領域、互聯網領域、ICT領域的行業巨頭,當然也少不了一大波初創企業和一些傳統的嵌入式操作系統提供商前仆后繼!
目前,物聯網操作系統尚未有明確的定義,但在物聯網設備不斷增加的背景下,已經迎來了多種路徑的發展。
一條是基于Linux、Android、iOS等操作系統進行裁剪和定制,來適應物聯網接入設備的需求;
另一條技術路線是以傳統嵌入式操作系統和實時操作系統為基礎,通過增加設備聯網等功能,滿足物聯網接入設備互聯需求,形成新的物聯網操作系統;
第三條技術路線則是面向物聯網產生的新型操作系統。
本篇文章將梳理介紹芯片商、互聯網服務商、軟件提供商、ICT服務商以及創新型企業從不同角度切入打造的物聯網操作系統:
(注:上圖無單獨操作系統logo的,以企業logo代替)
mbed OS
擁有者:ARM
名稱:mbed OS
網址:www.arm.com/products/iot/mbed-os
ARM?mbed?操作系統是一種專為物聯網(IoT)中的“物體”設計的開源嵌入式操作系統。該操作系統包含基于ARM Cortex-M微控制器開發連接產品所必需的全部功能,非常適合涉及智能城市、智能家庭和穿戴式設備等領域的應用程序。簡單來說,Mbed是一個開發平臺,一個基于ARM cortex M系列的單片機開發平臺。
mbed操作系統可提供核心操作系統、穩健的安全基礎、基于標準的通信功能以及針對傳感器、I/O設備和連接性開發的驅動程序,能夠加快從初始創意到部署產品的這一進程。mbed操作系統是模塊化的可配置軟件堆棧,有助于您輕松針對目標開發設備對其進行自定義,以及通過排除不必要的軟件組件降低內存要求。
早在嵌入式設備連接到互聯網之前,傳統嵌入式操作系統就已設計出來。 因此,這類操作系統無法解決針對IoT設備的新要求。相比而言,mbed操作系統是專為IoT設備而特別構建。設計圍繞著IoT設備的五個核心原則:安全性、連接性、可管理性、效率和生產率。
Android things/Brillo、Fuchsia
擁有者:谷歌
名稱:Android things、Fuchsia
網址:https://developer.android.com/things/
Android Things是谷歌為Google Brillo更改名稱后的新版系統,后者是谷歌在2015年宣布的一款物聯網操作系統。盡管Brillo的核心是Android系統,但是它的開發和部署明顯不同于常規Android開發。Brillo把C++作為主要開發環境,而Android Things則面向所有Java開發者,不管開發者有沒有移動開發經驗。
Android Things平臺架構
Android Things整合了物聯網設備通訊平臺Weave,Weave SDK將嵌入到設備中進行本地和遠程通訊。Weave Server是用來處理設備注冊、命令傳送、狀態存儲以及與谷歌助手等谷歌服務整合的云服務。
從硬件資源的角度來看,Android Things屬于土豪級的系統,動輒上百MB的內存顯然不適合單片機,這也正常,因為它的主要競爭對手其實是Windows 10 IoT。
2016年8月份,有消息說谷歌正在“悄悄”開發一款全新的操作系統,命名為“Fuchsia”。Pink + Purple == Fuchsia (a new Operating System)”,意思就是粉色加紫色等于Fuchsia,一個全新的操作系統,也被網友們戲稱為緋紅色的小妖精。
出乎意料的是它沒有基于Linux內核,而是基于一種叫Magenta的內核,Magenta是一個基于‘LittleKernel’(LK)的項目,LK是一個主要針對小型系統以及嵌入式應用的輕量級內核,適合硬件處理能力較弱的情況下使用,但是Magenta比LK要強大很多。
雖然Android占了移動設備端的大半江山,但Android仍然存在不少問題,比如:碎片化問題嚴重,在大屏幕設備上表現糟糕,以及被很多用戶詬病的卡頓與體驗問題。雖然卡頓的本質原因是很多無良應用的后臺互相喚醒,無節制的權限、內存使用等,但是這也恰恰反映了Android的底層架構設計是有瑕疵的。所以谷歌想著干脆拋棄Linux,開發自己的Fuchsia,同時還避開了GPL。
媒體猜測,Fuchsia的內核是為物聯網設備而設計的,所以這有可能是谷歌研發的一款輕量級物聯網操作系統。
Windows 10 IoT Core
擁有者:微軟
名稱:Windows 10 IoT Core
網址:developer.microsoft.com/en-us/windows/iot
Windows 10 IoT是面向各種智能設備的Windows 10版本系列,涵蓋了從小的行業網關到大的更復雜的設備(如銷售點終端和ATM),種類繁多。結合最新的Microsoft開發工具和Azure IoT服務,合作伙伴可以收集、存儲和處理數據,從而打造可行的商業智能和有效的業務結果。在構建基于Windows 10 IoT的解決方案后,合作伙伴將在利用一系列Microsoft技術提供端到端的解決方案時發現更多機會。
由于Windows 10 for IoT是全新產品,它在用戶群和經驗豐富的開發者方面顯然落后于其他許多物聯網操作系統。話雖如此,這款操作系統大有潛力,如果你想在內部開發應用程序,更是如此。最終,那些習慣于使用Visual Studio和Azure物聯網服務,針對Windows從事開發工作的人會被整套的Windows 10 for IoT方案吸引過去。
微軟更強調在Windows 10提出的Windows One策略,即希望一個Windows適應所有的設備和屏幕。并為用戶及開發人員提供一致的體驗。
這種方式使該系統具有強大的功能,但是,勢必導致其體量過大。目前Windows IoT Core提供兩個版本,分別針對有顯示屏和無顯示屏兩種場景(有頭和無頭模式headed or headless mode)。無頭模式需要256MB內存和2GB存儲,有頭模式需要512MB內存和2GB存儲。
Tizen
擁有者:三星
名稱:Tizen
網址:developer.tizen.org/development/iot-preview/getting-started
Tizen是基于HTML5的開源標準軟件平臺。它面向智能手機、平板、車載信息、智能電視、筆記本電腦,客戶可以在設備之間盡享創新的操作系統、應用和用戶體驗,而且Tizen支持原始設備創造商。
三星在Android系統嘗到了甜頭后,在幾年前道明自己要開發Tizen系統,這一件事也是幾經波折。自2011年英特爾和Linux基金會宣布致力于研發Tizen到2012年1月17日三省宣布將Bada集成至Tizen,從搭載Tizen系統的Galaxy Gear智能手表的推出到三星宣布2015年旗下智能電視采用Tizen系統。
三星電子開發的這款物聯網操作系統,事實上是一款簡化版的Tizen操作系統,后者目前已被應用于三星電子的智能手機和電視機當中。依據三星電子的計劃,包括電冰箱、電烤箱、洗衣機等家電和燈泡等,都將有可能采用這款操作系統。
AliOS-Things
擁有者:阿里
名稱:AliOS-Things
網址:www.alios.cn/things
AliOS Things是面向IoT領域的輕量級物聯網嵌入式操作系統。致力于搭建云端一體化IoT基礎設備。具備極致性能,極簡開發、云端一體、豐富組件、安全防護等關鍵能力,并支持終端設備連接到阿里云Link,可廣泛應用在智能家居、智慧城市、新出行等領域。
極簡開發
基于Linux平臺,提供MCU虛擬化環境,開發者直接在Linux平臺上開發硬件無關的IoT應用和軟件庫,使用GDB/Valgrind/SystemTap等PC平臺工具診斷開發問題;
提供IDE,支持系統/內核行為Trace、Mesh組網圖形化顯示;
提供Shell交互,支持內存踩踏、泄露、最大棧深度等各類偵測;
提供面向組件的編譯系統以及Cube工具,支持靈活組合IoT產品軟件棧;
提供包括存儲(掉電保護、負載均衡)在內的各類產品級別的組件。
即插即用的連接和豐富服務
支持umesh即插即用網絡技術,設備上電自動連網;
通過Alink與阿里云計算IoT服務無縫連接。
細顆粒度的FOTA更新
支持應用代碼獨立編譯映像,IoT App獨立極小映像升級;
支持映像高度壓縮。
徹底全面的安全保護
提供系統和芯片級別安全保護;
支持可信運行環境(支持ARMV8-M Trust Zone);
支持預置ID2根身份證和非對稱密鑰以及基于ID2的可信連接和服務。
高度優化的性能
內核支持Idle Task成本,Ram<1K,Rom<2k,提供硬實時能力;
提供YLOOP事件框架以及基于此整合的核心組件,避免??臻g消耗,核心架構良好支持極小FootPrint的設備。
解決IoT實際問題的特性演進
更好的云端一體融合優化,更簡單的開發體驗,更安全,更優整體性能和算法支持,更多的特性演進。
Lite OS
擁有者:華為
名稱:Lite OS
網址:www.huawei.com/minisite/liteos/cn/
華為物聯網操作系統Huawei LiteOS是華為面向物聯網領域開發的一個基于實時內核的輕量級操作系統。本項目屬于華為物聯網操作系統Huawei LiteOS基礎內核源碼,現有代碼支持任務調度,內存管理,中斷機制,隊列管理,事件管理,IPC機制,時間管理,軟定時器以及雙向鏈表等常用數據結構。
Huawei LiteOS的代碼將以BSD 3-Clause License,除非華為另選其他許可證(“可適用的許可證”)。
Lite OS目前世界上最輕量級的物聯網操作系統,其系統體積輕巧到10KB級,具備零配置、自組網、跨平臺的能力,可廣泛應用于智能家居、穿戴式、工業等領域。由于LiteOS實行開源,合作伙伴便可以快速構建自己的物聯網產品,這將讓智能硬件的開發變得更加簡單,從而加快實現萬物的互聯互通。Lite OS的模式與牛津大學研究人員發明的Contiki系統、加州大學伯克利分校發明的TinyOS相似,同樣具備輕量化、開源的特性。
LiteOS操作系統具有能耗最低,體積最小、響應最快的特點,已推出全開放開源社區,提供芯片、模塊和開源硬件板,如海思的PLC芯片HCT3911、媒體芯片3798M/C、IPCamera芯片Hi3516A,以及LTE-M芯片等(開發者也可以選擇第三方芯片,如STM32等)。
LiteOS主要應用于智能家居、穿戴式、車聯網、智能抄表、工業互聯網等IoT領域的智能硬件上,數據采集、實時控制等是其典型使用環境。
綠洲OS
擁有者:新華三
名稱:綠洲OS
網址:www.h3c.com/cn/Products___Technology/Technology/LvZhouOS/
綠洲OS是新華三面向IoT領域,自主研發、免費開源的統一物聯網操作系統和中間件平臺,具有安全性、輕量級、低功耗、實時快速、開放性和互聯互通等關鍵能力,為開發者提供一站式完整軟件平臺,有效降低開發門檻,大大縮短了開發周期。綠洲OS可用于智慧城市、工業、農業、校園、醫院、可穿戴等IoT領域的智能硬件設備上承載,從而形成統一的數據格式上傳至綠洲云平臺。
UHomeOS
擁有者:海爾
名稱:UHomeOS
網址:www.haieruplus.com/uhomeos.htm
UHomeOS框架圖
UHomeOS操作系統基于硬件模塊融合互聯互通、大數據、人工智能等技術成果,集結智能家居行業生態服務資源,提供跨場景、全兼容、多資源、高安全的基礎操作環境,以家庭用戶為中心,串聯起人、家電、服務三張網,賦能家電,讓家電理解用戶需求,主動為用戶提供個性化生態場景服務,提升用戶體驗。
HelloX
名稱:HelloX
網址:暫缺
HelloX是由國內操作系統愛好者開發的完全開源物聯網操作系統,HelloX操作系統也符合物聯網操作系統的分層結構。
HelloX分層架構
最下方是驅動程序層,實現了大多數常見硬件的驅動支持,包括USB,以太網,SPI/UART等等。嚴格來說,驅動程序層應該屬于內核的一部分。在HelloX的實現中,為了突出HelloX豐富的驅動支持的特點,把驅動程序單獨拿出來,作為一個層次展示。
在驅動層之上,是內核層。內存管理,任務調度等機制,都是在內核中實現的。與其它物聯網操作系統基于Linux內核定制的思路不同,HelloX的內核是根據物聯網的特征,完全全新開發的。內核中各模塊之間是松耦合的,可以根據需要,靈活的裁剪或者增加任何內核模塊,這樣就確保了內核的可伸縮性,能夠滿足多種多樣的碎片化硬件需求。也可以根據需要,替換內核中的缺省模塊或者算法,比如可以采用自定義的任務調度算法,替換內核中缺省的基于優先級輪詢的調度算法。也可以采用更加實時的內存分配算法(比如固定尺寸鏈表法),來替換內核中缺省的空閑鏈表內存分配算法,等等。對于MMU的支持,HelloX也是作為可選模塊來實現,裁剪掉MMU功能,不會對系統中的其它模塊產生任何功能上的影響(但是內存保護,虛擬內存等機制就不能用了)。
在內核層之上,是外圍組件層。HelloX提供了包括網絡,文件系統,系統調用等在內的多種多樣的外圍組件,供物聯網應用程序開發調用。
目前的HelloX,移植IoTivity物聯網協同框架,作為自己的協同框架。未來根據需要,HelloX會開發更加靈活的物聯網協同框架,與HelloX捆綁使用。
基于這些基本組件和功能,可以基于HelloX操作系統實現廣泛的物聯網應用,比如家庭網關,智能攝像頭,智慧家庭中的家電設備,抄表,e-Health等。目前HelloX已經實現了同多個物聯網云平臺的對接和集成。
SylixOS
擁有者:翼輝信息
名稱:SylixOS
網址:www.sylixos.com
SylixOS是一款嵌入式硬實時操作系統,同其類似的操作系統,全球比較知名的還有VxWorks(主要應用于航空航天、軍事與工業自動化領域)、RTEMS(起源于美國國防部導彈與火箭控制實時系統)、ThreadX(主要應用于航空航天與數碼通訊)等。
從全球范圍上看,SylixOS作為實時操作系統的后來者,在設計思路上借鑒了眾多實時操作系統的設計思想,其中就包括RTEMS、VxWorks、ThreadX等,使得具體性能參數上達到或超過了眾多實時操作系統的水平,成為國內實時操作系統的最優秀代表之一。
μT/OS
擁有者:大連悠龍軟件
名稱:μT/OS
網址:github.com/TenuxOS
大連悠龍軟件科技有限公司從2008年開始借鑒谷歌在Android上的成功商業模式,以μT-Kernel規范為基礎,2009年底在世界上第一個研發出支持Cortex M3和μT-Kernel規范的實時操作系統內核,后來逐漸加上Linux上的成熟輕量級開源中間件,推出了中國人自己的物聯網開源實時操作系統——μTenux,在μTenux中遵循μT-Kernel規范的內核被命名為μT/OS。
μTenux支持CortexM0/3/4、ARMV4T、ARMV5E等多種32位內核微控制器,在2010年和2011年陸續成為ATMEL和ARM公司全球操作系統戰略合作伙伴。
uT/OS V3.0,支持ST全系列Nucleo板子,支持STM32 Cube庫,支持動態下載程序,增加安全API。
Elastos
擁有者:亦來云
名稱:Elastos
網址:www.elastos.org
Elastos OS操作系統是一個基于C++構件技術(CAR),支撐多種應用類型(C++, Android JAVA, HTML5/JS),且面向個人云存儲及家庭云物聯網和家庭云互聯網的智能終端操作系統。該系統將用于智能電視、個人云存儲終端與無線網絡應用終端等多種設備,力圖構筑一個較為完整的智能家庭環境。
TreeOS
擁有者:光輪電子
名稱:TreeOS
網址:www.treeos.com/index.php#TreeOS
TreeOS是一種無核的、軟件構件化的、實時嵌入式操作系統,是一種新型的操作系統。
TreeOS實時操作系統看成由兩部分組成:第一部分:設計軟件架構方法,也是構件化方法;第二部分:軟件構件庫。
以下總結了TreeOS的一些特點:
一個可適用于各種單片機的實時操作系統;
一個真正適用于51單片機的實時操作系統;
一個采用軟件構件化技術的新型操作系統
一個帶有驅動程序庫的實時操作系統;
一個可自動幫你完成70~90%軟件開發任務的操作系統;
一個非常原理簡單、通用的單片機操作系統。
TreeOS填補了中低檔單片機無適用操作系統的市場空白。由于采用軟件構件化技術,使我們可以進一步開發出能夠幫助工程師編程的軟件機器人,這就是AlphaMCU。通過輕點鼠標,你就可以輕松完成整個項目軟件的70~90%代碼(定制化操作系統)!而且這些代碼都是產品級的。你所要做的只是編寫剩余的用戶代碼。
TreeOS目前已成功應用在MCS51、STC、AVR、MSP430、STM8、STM32等多種單片機上。由于在場景中采用了前后臺系統,這種做法比較適合單片機使用。但實際上,TreeOS并無具體針對某一類計算機系統(構件庫可能不同)。因此TreeOS同樣可適用于任何其它符合其設計要求的計算機系統,比如ARM7或PC機。
TreeOS的應用范圍包括:工業控制、儀器儀表、汽車電子、民用電器、 醫療儀器、通訊等多個行業。
擁有者:睿賽德
名稱:RT-Thread
網址:www.rt-thread.org
RT-Thread是一個來自中國的開源物聯網操作系統,它提供了非常強的可伸縮能力:從一個可以運行在ARM Cortex-M0芯片上的極小內核,到中等的ARM Cortex-M3/4/7系統,甚至是運行于MIPS32、ARM Cortex-A系列處理器上,系統功能豐富,其項目源代碼托管在GitHub repo上。
RT-Thread包含了一個自有的、傳統的硬實時內核:可搶占的多任務實時調度器、信號量、互斥量、郵箱、消息隊列、信號等。當然,它和傳統的實時操作系統還存在著三種不同:
設備驅動框架;
軟件組件;
應用模塊
設備驅動框架更類似一套驅動框架,涉及到UART,IIC,SPI,SDIO,USB從設備/主設備,EMAC,NAND閃存設備等。它會把這些設備驅動中的共性抽象/抽取出來,而驅動工程師只需要按照固定的模式實現少量的底層硬件操作及板級配置。通過這樣的方式,讓一個硬件外設更容易地對接到RT-Thread系統中,并獲得RT-Thread平臺上的完整軟件棧功能。
軟件組件是位于RT-Thread內核上的軟件單元,例如命令行(finsh/msh shell),虛擬文件系統(FAT,YAFFS,UFFS,ROM/RAM文件系統等),TCP/IP網絡協議棧(lwIP),Libc/POSIX標準層等。一般的,一個軟件組件放置于一個目錄下,例如RT-Thread/components目錄下的文件夾,并且每個軟件組件通過一個SConscript文件來描述并被添加到RT-Thread的構建系統中。當系統配置中開啟了這一軟件組件時,這個組件將被編譯并鏈接到最終的RT-Thread固件中。
注:隨著RT-Thread 3.0中的包管理器開啟,越來越多的軟件組件將以package方式出現在RT-Thread平臺中。而RT-Thread平臺更多的是指:
RT-Thread內核;
shell命令行;
虛擬文件系統;
TCP/IP網絡協議棧;
設備驅動框架;
Libc/POSIX標準層。
更多的IoT軟件包則以package方式被添加到RT-Thread系統中。
應用模塊,或者說用戶應用(User Application,UA)是一個可動態加載的模塊:它可以獨立于RT-Thread固件而單獨編譯。一般的,每個UA都包含一個main函數入口;一個它自己的對象容器,用于管理這個應用的任務/信號量/消息隊列等內核對象,創建、初始化、銷毀等。
Ruff
擁有者:上海南潮
名稱:Ruff
網址:ruff.io/zh-cn/
Ruff是一個支持JavaScript開發應用的物聯網操作系統,為軟件開發者提供開放、高效、敏捷的物聯網應用開發平臺,讓IoT應用開發更簡單。
Ruff對硬件進行了抽象,使用了基于事件驅動、異步I/O的模型,使硬件開發變得輕量而且高效。除了使用JavaScript作為開發語言,它還擁有自己的軟件倉庫,從模塊到驅動一應俱全。提高軟件兼容性、降低硬件開發門檻。
整個Ruff開發體系包括Ruff OS、Ruff SDK、Ruff軟件倉庫、Ruff Kit開發套件。 只要您有軟件開發經驗,就可以用Ruff開發硬件應用。
Ruff的特點有:
JavaScript編程——采用開發者眾多的唯一全棧語言作為編程語言
硬件抽象——調用程序庫即可操作硬件,降低開發入門門檻
跨平臺——忽略板卡差異,同一份應用代碼可以運行在不同板卡上
高效便捷開發——告別交叉編譯、燒寫板卡,PC上完成測試,一鍵部署
MICO
擁有者:上海慶科
名稱:MICO
網址:www.mxchip.com/product/mico
MiCO IoT OS由上海慶科聯合阿里智能云于2014年7月發布,是國內首款真正意義上的物聯網操作系統。簡單的說它是基于MCU的全實時物聯網操作系統,是面向智能硬件設計、運行在微控制器上的高度可移植的操作系統和中間件開發平臺,已被廣泛應用于智能家電、照明、醫療、安防、娛樂等物聯網應用市場。
MiCO的全稱是:Micro-controller based Internet Connectivity Operating system。是基于微控制器的互聯網接入操作系統。 開發者可以在各種微控制器平臺上基于MiCO來設計接入互聯網的創新智能產品,實現人,物互聯。
MiCO是針對智能硬件優化設計而運行在微控制器上高度可移植的實時操作系統,包含了各種軟件中間件,從而降低智能硬件開發成本,提高開發效率是國內首款物聯網操作系統。MiCO擁有完整的解決方案,包括了建議的無線網絡配置、智能硬件的初次設置、快速無線網絡接入、本地設備與服務發現、身份認證等組件。這些都能夠降低研發投入和維護的成本,縮短研發周期。
Zephyr
名稱:Zephyr
網址:www.zephyrproject.org/
Linux基金會宣布了一個微內核項目——Zephyr,由Intel主導, 風河提供技術。Zephyr微內核將被用于開發針對物聯網設備的實時操作系統(RTOS)。Zephyr項目得到了英特爾、NXP半導體、Synopsys和UbiquiOS等公司的支持,英特爾子公司Wind River向Zephyr項目捐贈了它的Rocket RTOS內核。
Wind River的Rocket RTOS將轉變成基于Zephyr內核的下游商業發行版。Zephyr微內核能運行在只有10KB RAM的32位微控制器上,相比之下基于Linux的微控制器項目uClinux需要200KB RAM。
Zephyr項目在設備和通信協議棧的兩個層次提供安全特性,除此之外,社區也對安全問題嚴肅看待,計劃成立專門安全工作組并委派一位安全維護者。
μCLinux
擁有者:微軟
名稱:μCLinux
網址:www.uclinux.org/pub/uClinux/
μClinux作為嵌入式Linux版本,其全稱為micro-control Linux,從字面意思看是指微控制Linux。最初是Linux 2.0內核的衍生產品,同標準的Linux相比,μClinux的內核非常小,但是它仍然繼承了Linux操作系統的主要特性,包括良好的穩定性和移植性、強大的網絡功能、出色的文件系統支持、標準豐富的API,以及TCP/IP網絡協議等。
因為沒有MMU內存管理單元,所以其多任務的實現需要一定技巧。
與Linux一樣,μClinux操作系統將中斷處理分為兩部分:頂半處理和底半處理。在頂半處理中,必須關中斷運行,且僅進行必要的、非常少、速度快的處理,其他處理交給底半處理;底半處理執行那些復雜、耗時的處理,而且接受中斷。因為系統中存在有許多中斷的底半處理,所以會引起系統中斷處理的延時。
μClinux最大特點在于針對無MMU處理器設計,可以利用功能強大的Linux資源,因此適合開發對事件要求不高的小容量、低成本的各類產品,特別適用于開發與網絡應用密切相關的嵌入式設備或者PDA設備。
QNX
擁有者:黑莓
名稱:QNX
網址:www.qnx.com/account/login.html?returnaddress=%2Fdownload%2Fgroup.html%3Fprogramid%3D29178
QNX是一個分布式、嵌入式、可規模擴展的硬實時操作系統。它遵循POSⅨ.1 (程序接口)和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(實時擴展)。它誕生于1980年,距今已37年的歷史。
Gordon Bell和Dan Dodge在1980年成立了Quantum Software Systems公司,他們根據大學時代的一些設想寫出了一個能在IBM PC上運行的名叫QUNIX(Quick UNIX)的系統,直到AT&T發律師函過來才把名字改成QNX。
QNX是一個微內核實時操作系統,其核心僅提供4種服務:進程調度、進程間通信、底層網絡通信和中斷處理,其進程在獨立的地址空間運行。所有其它OS服務,都實現為協作的用戶進程,因此QNX核心非常小巧(QNX4.x大約為12Kb)而且運行速度極快。
QNX是業界公認的X86平臺上最好的嵌入式實時操作系統之一。它具有獨一無二的微內核實時平臺,建立在微內核和完全地址空間保護基礎之上,實時、穩定、可靠,已經完成到PowerPC、MIPS、ARM等內核的移植,成為在國內廣泛應用的嵌入式實時操作系統。雖然QNX本身并不屬于UNIX,但由于其提供了POSIX的支持,使得多數傳統UNIX程序在微量修改(甚至不需修改)后即可在QNX上面編譯與運行。
在具有高可靠性內核的基礎上,QNX的創新設計使它同樣具有很高的效率。QNX最為引人注目的地方是,它是UNⅨ的同胞異構體,保持了和UNⅨ的高度相似性,絕大多數UNⅨ或LINUX應用程序可以在QNX下直接編譯生成。這意味著為數眾多的穩定成熟的UNⅨ、LINUX應用可以直接移植到QNX這個更加穩定高效的實時嵌入式平臺上來。
TRON
名稱:TRON
網址:暫缺
TRON是一項開放式的實時操作系統內核設計項目,它是”The Real-time Operating system Nucleus”(實時操作系統內核)的縮寫。該項目由東京大學的坂村健教授于1984年發起,宗旨是為全社會的需要開發一套理想的計算機結構和網絡。
擔任日本東京大學(University of Tokyo)教授的坂村一直是個跳脫框架的思想家、大膽敢言,并熱烈支持下一代運算架構;他的大部分學術生命都投入于開發TRON,以及在日本推廣普及、無所不在的運算之概念。坂村表示,他所構想的“智慧物聯網(Intelligent Object Network)”──類似于當紅的物聯網──可追溯至1987年他所開發的TRON目標之一。
TRON在國內的知名度不高,但其實它的應用非常廣,有興趣的可以搜索相關文章進行了解,比如《TRON伴隨生活的另一個操作系統世界》。
μCOS-II/μCOS-III
名稱:μCOS-II/μCOS-III
網址:www.micrium.com/rtos
國內做嵌入式開發的應該都聽過μCOS,μCOS在國內的應用也非常廣泛,這得益于其代碼的良好風格和開放性,以及配套的中間件和文檔的完整性,并且在北京麥克泰公司及國內一些嵌入式專家的支持下,出版了很多關于μCOS的中文書籍。
μC/OS-II的前身是μC/OS,最早出自于1992年美國嵌入式系統專家Jean J.Labrosse在《嵌入式系統編程》雜志的5月和6月刊上刊登的文章連載,并把μC/OS的源碼發布在該雜志的BBS上。μC/OS-II是在μC-OS的基礎上發展起來的,是用C語言編寫的一個結構小巧、搶占式的多任務實時內核。μC/OS-II能管理64個任務,并提供任務調度與管理、內存管理、任務間同步與通信、時間管理和中斷服務等功能,具有執行效率高、占用空間小、實時性能優良和可擴展性強等特點。
μC/OS-II中斷處理比較簡單。一個中斷向量上只能掛一個中斷服務子程序ISR,而且用戶代碼必須都在ISR中完成。ISR需要做的事情越多,中斷延時也就越長,內核所能支持的最大嵌套深度為255。
Micrium宣布在它的嵌入式產品中增加μC/OS-MMU和μC/OS-MPU兩款產品。這兩種產品增加了嵌入式系統中的關鍵內存函數。μC/OS-MMU通過為多個獨立的應用提供時間和空間的保護,為帶有內存管理單元(MMU)的中央處理器提供了內存保護功能。μC/OS-MPU通過保護任務的內存防止對未被授權的系統內存的訪問,破壞內存的內容,為帶有內存保護單元的CPU提供了保護機制。
關于μCOS-II和μCOS-III的區別和性能對比,可以搜索相關文章進行了解,比如《UCOS-II和UCOS-III的性能對比》。
2016年,為了強化自身嵌入式物聯網設計方案,Silicon Labs宣布收購物聯網(IoT)即時操作系統(RTOS)軟件供應商Micrium,來增進物聯網嵌入式解決方案的完整性。
名稱:FreeRTOS
網址:www.freertos.org
FreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、協程等,可基本滿足較小系統的需要。
FreeRTOS的特點包括:
用戶可配置內核功能
多平臺的支持
提供一個高層次的信任代碼的完整性
目標代碼小,簡單易用
遵循MISRA-C標準的編程規范
強大的執行跟蹤功能
堆棧溢出檢測
沒有限制的任務數量
沒有限制的任務優先級
多個任務可以分配相同的優先權
隊列,二進制信號量,計數信號燈和遞歸通信和同步的任務
優先級繼承
免費開源的源代碼
FreeRTOS的創始人是Richard Barry,他編寫了大量的移植代碼和配套文檔。SafeRTOS便是基于FreeRTOS而來,前者是經過安全認證的RTOS,因此FreeRTOS的安全性也有了相對的保障。
Ubuntu Core 16
擁有者:Canonical
名稱:Ubuntu Core 16
網址:www.ubuntu.com/core
Ubuntu已經向外界透露了它們對于物聯網的最新想法,那就是讓Linux成為讓物聯網更智能和可擴展的核心。Snappy Ubuntu Core是面向智能設備的最新平臺,其承諾可以運行存儲在本地或依賴于云端的相同軟件。顯然,后者的最大好處就是可以讓使用者避開頻繁的定期升級。
Ubuntu Core團隊意識到,“聯網設備”的數量將會激增。雖然手機和計算機的定期維護和更新已深入人心,但是對于洗衣機、溫控器、以及智能開關來說,大家卻很容易忽略掉它們。
此外,在頻發的黑客攻擊面前,聯網設備的安全性也需要慎重考慮。如果沒有最新的安全補丁和固件修復,那么必將會給聯網設備的使用者留下巨大的隱患。
更重要的是,Ubuntu Core既可以在設備上、也可以依賴云端而運行。并且無論他們運行于ARM或x86平臺,開發者都會得到相同的API和安全更新。
截至目前,Ubuntu母公司Canonical已經擁有了21家合作伙伴,我們希望這一數字可以在今年迎來更高的增長。
Nucleus OS
擁有者:Mentor
名稱:Nucleus OS
網址:www.mentor.com/embedded-software/nucleus/
Nucleus是為實時嵌入式應用而設計的一個搶先式多任務操作系統內核,其95%的代碼是用ANSIC寫成的,因此非常便于移植并能夠支持大多數類型的處理器。從實現角度來看,NucleusPLUS是一組C函數庫,應用程序代碼與核心函數庫連接在一起,生成一個目標代碼,下載到目標板的RAM中或直接燒錄到目標板的ROM中執行。
Nucleus是Mentor Graphics公司開發的一種嵌入式操作系統。這家公司聲稱,其軟件目前在30多億個設備上運行,這是個相當龐大的安裝群。該操作系統為眾多嵌入式架構提供了有力的支持,在汽車、醫療、公用事業、工業和消費類電子產品等行業垂直領域大受歡迎。共享單車Bluegogo用的就是Nucleus OS。
Ostro
名稱:Ostro
網址:ostroproject.org
Ostro操作系統是特別為物聯網建造的操作系統,開發者可以馬上用,節省了很多時間,功能也非常完善,包括覆蓋全面的連接標準,支持包含藍牙、WiFi和NFC等連接方式,并且支持多種如IoTivity的設備對設備互聯互通標準;包含安全啟動、強制訪問控制、加密標準和軟件安全更新協議等安全措施;先進的設備管理以及直觀的開發工具。
Ostro是一套基于Linux并且為物聯網智能設備特別量身訂做的開源操作系統,它可以為任意數量的物聯網使用案例特別定制功能,包含Linux參考設計、軟件包安裝和管理機制。除此之外,它的開發工具可以讓設備上的連接潛力擴展到最大。Ostro項目不但提供管理眾多設備的工具,最重要的是,它能保障物聯網世界安全無虞。
Ostro操作系統的適應性非常強,既可直接用于受支持的設備,也可以按照需求進行定制,而且開發環境提供了多種語言選擇(Native (C/C++)和Node.js),可以輕松找到新設備的驅動程序,并充分利用Linux社區的所有資源。最后,它還提供了從引導/內核到中間件和應用的自上而下的安全性選項。
Ostro操作系統包含易用的工具,讓開發和原型制作都變得容易。它利用Yocto項目的工具組環境來進行操作系統和應用包的配置,開發者可以先創建出一個理想的配置再根據需求修改。當使用基于Linux的開發工具時,對于既有的Linux和安卓開發者,完全不需要額外的學習過程,開發者可以直接用交互編譯工具來生成程序。
TinyOS
名稱:Tiny OS
網址:暫缺
Tiny OS是UC Berkeley(加州大學伯克利分校)開發的開放源代碼操作系統,專為嵌入式無線傳感網絡設計,操作系統基于構件(component-based)的架構使得快速的更新成為可能,而這又減小了受傳感網絡存儲器限制的代碼長度。Tiny OS是一個具備較高專業性,專門為低功耗無線設備設計的操作系統,主要應用于傳感器網絡、普適計算、個人局域網、智能家居和智能測量等領域。
Tiny OS的如下特性決定了其在傳感器網絡中的廣泛應用,使其在物聯網中占據了舉足輕重的地位。
相對于主流操作系統成百上千MB的龐大體積來說,Tiny OS顯得十分迷你,只需要幾KB的內存空間和幾十KB的編碼空間就可以運行的起來,而且功耗較低,特別適合傳感器這種受內存、功耗限制的設備。
Tiny OS本身提供了一系列的組件,包括:網絡協議、分布式服務器、傳感器驅動及數據識別工具等,使用者可以通過簡單方便的編制程序將多個組件連接起來,用來獲取和處理傳感器的數據并通過無線電來傳輸信息。
Tiny OS在構建無線傳感器網絡時,通過一個基地控制臺控制各個傳感器子節點,聚集和處理各子節點采集到的信息。Tiny OS只要在控制臺發出管理信息,然后由各個節點通過無線網絡互相傳遞,最后達到協同一致的目的。
eCOS(GNU)
名稱:eCOS(GNU)
網址:ecos.sourceware.org
eCos(embedded Configurable operating system),中文翻譯為嵌入式可配置操作系統或嵌入式可配置實時操作系統。適合于深度嵌入式應用,主要應用對象包括消費電子、電信、車載設備、手持設備以及其他一些低成本和便攜式應用。eCos是一種開放源代碼軟件,無需支付任何版稅。
它是一個源代碼開放的可配置、可移植、面向深度嵌入式應用的實時操作系統。最大特點是配置靈活,采用模塊化設計,核心部分由小同的組件構成,包括內核、C語言庫和底層運行包等。每個組件可提供大量的配置選項(實時內核也可作為可選配置),使用eCos提供的配置工具可以很方便地配置,并通過不同的配置使得eCos能夠滿足不同的嵌入式應用要求。
eCos使用了分層式中斷處理機制,把中斷處理分為傳統的ISR和滯后中斷服務程序DSR。類似于μClinux的處理機制,這種機制可以在中斷允許時運行DSR,因此在處理較低優先級中斷時允許高優先級的中斷和處理。為了極大地縮短中斷延時,ISR應當可以快速運行。如果中斷引起的服務量少,則ISR可以單獨處理中斷;如果中斷服務復雜,則ISR只屏蔽中斷源,然后交由DSR處理。
Contiki
名稱:Contiki
網址:www.contiki-os.org
Contiki系統的名字來自于托爾·海爾達爾的康提基號,由牛津大學研究人員發明。
Contiki是一個適用于有內存的嵌入式系統的開源的、高可移植的、支持網絡的多任務操作系統。包括一個多任務核心、TCP/IP堆棧、程序集以及低能耗的無線通訊堆棧。Contiki采用C語言開發的非常小型的嵌入式操作系統,運行只需要幾K的內存。
Contiki擁有出色的TCP/IP網絡支持,包括IPv4和IPv6,還有6Lowpan報文壓縮、RPL路由、CoAP應用層,已經成為無線傳感器網絡和物聯網感知層低功耗無線組網協議研發和實驗的主要平臺,其中6Lowpan已經成為IETF規范,也被zigbee SEP2.0標準以及ISA100.11a標準所采納。
-
Android
+關注
關注
12文章
3955瀏覽量
128991 -
物聯網
+關注
關注
2920文章
45541瀏覽量
383232 -
Linux
+關注
關注
87文章
11397瀏覽量
211984 -
iOS
+關注
關注
8文章
3399瀏覽量
152073 -
物聯網操作系統
+關注
關注
3文章
114瀏覽量
13529
原文標題:物聯網全景動態圖譜2.0|物聯網操作系統匯總
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論