1 引言
戰略性行業升級和規模化市場發展推動
物聯網應用進入新一輪發展浪潮,據Gartner預測,到2020年全球聯網設備數量將達到260億個,物聯網市場規模達到1.9萬億美元。
面向物聯網新型終端大量組網的需求,傳統嵌入式操作系統由于封閉式的特點無法直接套用于物聯網設備,移動端i
OS和Android操作系統由于體積較大、功耗較高等原因也無法很好適配物聯網終端,因此操作系統需進行新一輪發展創新。架構上,為實現通用化,架構逐漸趨于一致,并具備物聯網獨有特點;技術上,面向新型終端安全性、低功耗、互聯性的需求,操作系統不斷提升自身性能。近年來,新興操作系統ARM的Mbed,微軟的Win10 IoT、谷歌的Fuchsia等皆在物聯網領域有所發展與應用,我國華為的liteOS、阿里的yunOS等也表現較好。
2 物聯網操作系統發展特征
2.1 操作系統與物聯網平臺成為生態雙核心
在移動互聯網時代,產業和生態的基點是智能終端,大部分價值在眾多APP應用,操作系統為應用提供統一接口,作為應用框架成為生態核心。而物聯網以連接和數據為主,匯聚和處理數據成為產業發展重心,操作系統作為數據匯聚接入接口,生態定位發生改變。
物聯網生態價值的向上轉移和操作系統生態定位的改變,導致物聯網的生態核心從單核向雙核轉變。一方面,物聯網以大數據服務為主,注重海量數據的云端互聯,物聯網平臺的生態價值提升,成為物聯網生態的核心環節。另一方面,物聯網的生態模式由移動互聯網衍生而來,物聯網操作系統仍是屏蔽底層硬件差異、管理軟硬件的重要工具,其影響力依然存在。同時,數據的采集和互聯,需要底層傳感器、上層應用和云端的能力,操作系統提供接口,是數據接入匯聚處理的重要支撐。
2.2 面向物聯網,操作系統出現低功耗、安全性、互通性等新需求
隨著新興物聯網應用服務的興起,服務對象逐步變為大眾消費者,新興物聯網在運維模式、網絡架構、數據處理上都與傳統的專用模式有很大區別,物聯網系統從獨立封閉走向開放互聯。同時,隨著通信、人工智能、自動駕駛等技術不斷成熟發展,物聯網終端智能化不斷加深,亟待提升能力的終端設備給物聯網操作系統提出了新需求。一是面向不同廠家的設備,為實現互聯互通和互操作,操作系統必須實現互通性要求;二是物聯網設備資源受限,低功耗成為物聯網操作系統的必備特性;三是聯網設備不斷增加,網絡安全性亟待提升,從操作系統層面保障軟硬件安全成為必須;四是物聯網設備形態功能各異,需增加軟硬件的支撐能力;五是針對大量異構終端,物聯網操作系統需實現模塊化要求,實現可裁剪和迅速定制。
2.3 物聯網操作系統呈現3種發展路徑
由于現有操作系統很難完全匹配物聯網應用需求,目前物聯網操作系統領域涌現出3條技術路徑。一條是基于Android、iOS等操作系統進行裁剪和定制,來適應物聯網接入設備的需求;另一條技術路線是以傳統嵌入式操作系統和實時操作系統為基礎,通過增加設備聯網等功能,滿足物聯網接入設備互聯需求,形成新的嵌入式操作系統;第三條技術路線是面向物聯網產生的新型操作系統。
3 國內外新型物聯網操作系統最新進展研究
3.1 操作系統技術面向物聯網新需求不斷升級優化
(1)操作系統架構區別于互聯網,面向物聯網應用逐步趨于一致
物聯網操作系統由內核、外圍功能組件、物聯網協同框架、通用智能引擎、集成開發環境等子模塊組成。這些子模塊之間相互配合,又互相形成層次依賴關系,共同組成一個完整的面向各種各樣物聯網應用場景的軟件基礎平臺。
內核層面上實現伸縮性、安全性、低功耗。伸縮性方面,內核通過重新編譯和二進制模塊選擇加載的方式適應不同配置的硬件平臺,實現尺寸在K到M級范圍內的伸縮。安全性上,支持內存保護(VMM等機制)、異常管理等機制,以在必要時隔離錯誤的代碼,提供內核統計與監控功能,為維護或開發人員提供故障定位的工具。低功耗上,常用兩種技術手段實現節能,一是在CPU空閑時,降低CPU運行頻率或關閉CPU;二是最大程度地降低中斷發生頻率。
增加外圍模塊,支持連接、圖形等基本功能。為實現輕量級,物聯網操作系統功能模塊采取按需提供的方式。因此,物聯網操作系統把文件系統、TCP/IP網絡協議棧、數據庫等功能組件從內核中獨立出來,組成外圍功能組件。在很多情況下,功能組件用到一到兩個就可以滿足需求,其它的功能組件必須裁剪掉。
通過協同框架,實現物聯網設備協同交互。物聯網設備之間需相互交互和協同,以達到單一物聯網設備無法完成的功能。而物聯網協同框架,就是為物聯網設備之間的協同提供了技術基礎,包括如下功能:物聯網設備發現機制、物聯網設備的初始化與配置管理、物聯網設備之間的協同交互、云端服務等。
(2)面向物聯網終端互連,互聯互通性成為重要發力方向
兼容物聯網通信協議接口,完善協同框架功能。由于物聯網是萬物互聯的場景,設備之間互聯互通需求很大;同時,物聯網連接場景較多,如
智能家居場景下,短距離高速率通信將各家居設備和手機、PC等終端相連,而智能物流場景下,需要覆蓋范圍廣且功率低的通信協議以支持長距離的傳輸。因此,物聯網操作系統需支持更多新型的物聯網通信協議,以便互聯互通。
融合操作系統初現,前景仍有待觀望。微軟Win10 IoT通過設備系列實現API共用,開發工具獲取通用API,下載安裝時自動識別設備環境并編譯出專用API,保證在代碼統一編寫的同時,保持自身特有屬性。但目前用戶習慣多停留在Win32系統上,同時微軟的物聯網終端占有率較低,因此廠商不愿意投入人力物力發展跨終端系統。谷歌推出Fuchsia,采用全新Magenta內核、Escher渲染器以及Dart語言,支持32位和64位的ARM處理器和64位PC處理器,打造全新融合操作系統。目前,該系統尚在開發之中,并且Android建立的用戶習慣和生態習慣短期內較難改變,該系統發展前景仍有待觀測。
(3)低功耗技術逐步成熟,形成不同解決方案
由于物聯網設備大多數為無線設備,因此需要維持低功耗以實現長時間使用。目前,各操作系統企業紛紛在低功耗上發力,欲實現操作系統層面的低功耗。如華為推出的liteOS,功耗僅為10~3mW;Mbed與Silicon Labs合作,推出低功耗Mbed OS。具體技術方面,物聯網操作系統從調度機制、傳輸機制和電源管理三方面入手,實現低功耗。首先,調度機制一改原來Linux實時調度方式,采用“集中式任務調度”。其次,在傳輸方式上,通過網絡協議棧、路由算法優化等方法來降低系統功耗。最后在電池管理上,進行深度休眠模式的自動選擇,顯著降低能耗。
(4)軟硬件結合提升物聯網安全性
以ARM-M系列TrustZone技術為基礎,保證硬件安全。2015年底,ARM將Trustzone技術引到M系列芯片,從而給物聯網安全提供了硬件保障。TrustZone 技術將SoC的硬件資源和軟件資源進行了劃分,并將其隔離為兩個執行環境,即安全環境和普通環境,安全環境執行安全子系統中的任務,如存儲密鑰、加密算法軟件庫等敏感事物,普通環境則處理剩下的其它所有事務。不同于A系列的TrustZone,M系列的環境切換是基于硬件安全狀態的切換,切換速度快,切合物聯網低功耗、實時性的需求。
軟件層面采用隔離手段保證安全。基于軟件的安全方案則是通過數據加密或在操作系統中植入安全特性等方法實現系統安全。如Mbed OS利用uVisor將部分代碼分成不同的BOX,每個程序的BOX之間會有不同權限的控制,跨BOX之間的權限訪問在設備出廠之初固化操作系統之內。
(5)面向新型智能化終端,提升軟硬件支撐能力
車載操作系統面向車聯網和自動駕駛,提高連接性,增加ADAS接口。聯網化方面,汽車的聯網化逐步成為發展趨勢,操作系統需從底層為車聯網提供通信支持,需支持V2X車載通信協議,從車內網,車際網,移動車載網三方面增強底層數據接入、處理能力。智能化方面,隨著自動駕駛技術不斷進步,車載操作系統也加強與ECU的耦合,傳感數據通過網絡接口與計算系統相連,操作系統管理調度計算資源,為自動駕駛提供軟件基礎。
機器人操作系統面向人工智能,引入AI引擎。從底層硬件上看,機器人為增強自身運動控制等能力,不斷加強感知功能,對底層傳感提出了更多要求,操作系統不斷增強對底層硬件的支持。從上層軟件上看,機器人面向不同的應用場景,推出多種原生應用,打造機器人操作系統生態,操作系統提供代碼庫等接口,以支持應用。
3.2 物聯網操作系統專利申請逐步增長,但仍較薄弱
目前,據中國信息通信研究院統計,從2013年起物聯網操作系統專利申請量呈爆發式增長,由2012年的86個激增到2013年的189個,并且還在呈現逐步增長的趨勢。專利圍繞iOS、Andriod等移動操作系統,以及Contiki、Tiny OS、ARM Mbed、華為LiteOS等物聯網操作系統,其中部分為中國企業或個人申請的專利。然而相比于傳感器、有線通信技術和短距離通信技術等專利申請量較高的領域,在物聯網技術中,關注于物聯網操作系統的技術專利仍然較少,技術發展創新節奏仍然較慢。
3.3 物聯網操作系統呈現以開源為主、閉源并存的發展趨勢
一方面,從產業上看,我國物聯網目前尚處于發展期,需降低技術門檻加速普及,開源作為生態構建手段,有利于加速我國物聯網發展。從技術上看,由于物聯網終端形態各異、連接互通性要求高、碎片化嚴重等特點,導致軟硬件開發兼容性要求較高,通過開源可以為兼容提供基礎。LiteOS、Brillo、Tizen等新興物聯網操作系統采取開源策略,如Liteos代碼開源,構建了包括芯片、模塊、開源硬件、創客以及軟件開發者等玩家的開源社區。但為了保證安全性和掌握控制權,某些操作系統的開源模式會類似于手機安卓“AOSP開源,GMS閉源”的方式,大部分開源開放,關鍵部分閉源授權,如Mbed免費且部分開源,固件當中仍然存在二進制機制,而且其中一部分以受到嚴密保護的閉源驅動程序形式提供給由芯片制造商推出的系統芯片產品。
另一方面,某些特殊行業存在自身特殊需求,如航天、水電等領域安全性保密性要求較高,操作系統閉源策略仍需并存。
3.4 圍繞操作系統和物聯網平臺,物聯網生態逐步建立
由于物聯網生態核心逐步向操作系統和物聯網平臺雙核心轉變,布局新型物聯網操作系統企業紛紛配套物聯網平臺建設,并根據自身特點各有側重,以打造物聯網生態系統。
側重以操作系統為核心。依托手機、PC端操作系統成熟生態的強大影響力,企業在布局物聯網操作系統時,側重以操作系統為核心,將手機/PC端技術和生態優勢轉移到物聯網。如蘋果采用完全封閉的發展策略,先后推出CarPlay、Watch OS、HealthKit等,將iOS系統及應用生態深度整合到汽車、可穿戴設備當中,并通過資金支持、技術支持等方式深度參與終端上游元器件的開發、生產和制造過程,打造從終端到應用的極致用戶體驗,如圖1所示。
側重以操作系統與物聯網平臺為核心。新型操作系統專為物聯網設計,新產品需快速建立完整產業鏈以切入市場;同時,企業的主業大多數為互聯網或連接,在云端互聯上有自身優勢,因此新型操作系統側重以雙核心構建物聯網生態系統。如ARM以Cortex®-M架構、Mbed OS、設備管理系統和開源社區為核心布局物聯網生態,如通過物理IP包授權、處理器授權、架構/指令集授權與MCU芯片提供商建立緊密合作關系;以部分開源、支持二次開發的方式向合作伙伴免費提供mbed OS;與IBM、stream、愛立信、KDDI等多家云服務商合作打造統一開發環境吸引第三方開發者;與系統集成商合作面向行業用戶提供多種物聯網解決方案等,如圖2所示。
側重以物聯網平臺為核心。一方面,嵌入式操作系統自身交互性、互通性等性能較弱;另一方面,此類操作系統多應用于工業等行業領域,智能化對行業應用的大規模組網需求提升。因此,傳統嵌入式操作系統需借助物聯網平臺,增強連接、分析、處理能力。
4 我國物聯網操作系統的發展建議
4.1 我國物聯網操作系統的發展機遇
增量市場帶來大量新的機會。目前,并沒有一款成熟產品能夠完全適應物聯網應用,即使是微軟與風河等傳統操作系統公司,也需要調整自己的產品線來適應新市場。我國物聯網產業快速發展,成為全球最大的市場,因此物聯網操作系統增量市場的很大一部分必將來自中國。
物聯網操作系統與云計算和移動互聯網結合緊密。目前開發物聯網操作系統的中國廠商都有互聯網和云端的相關背景,依托此特點可進行優勢轉移。如阿里巴巴依托阿里云推出的yunOS,并配套Yoc開放平臺;華為依托華為云,推出liteOS和Oceanconnect物聯網平臺,并且依托本身連接優勢,大力推行低功耗廣域網,在連接上占據優勢。
4.2 我國物聯網操作系統應用情況
我國物聯網操作系統目前在不同領域發展較不同步。在智能家居領域,慶科Mico與阿里yunOS發展較好,與底層硬件和家電廠商初步形成生態。阿里云以Yun OS和云平臺為核心,在兼容所有主流移動芯片架構、MCU平臺的基礎上,采用組建商業聯盟、開放運營模式、創新產品服務策略打通智能家居等多個終端領域,并通過應用預裝、大數據精準營銷等手段形成良性的利益分成機制;目前,阿里云與超過40家硬件廠商建立合作關系,推出較多智能家居成型產品,且應用較好。在機器人領域,出現應用于機器人上人工智能級OS,但暫未形成生態。如人工智能創業團隊圖靈機器人對外發布了一款人工智能機器人操作系統Turing OS。車載系統中Wince、QNX和安卓占據大部分市場份額,國內新型操作系統暫未有成型產品。
4.3 我國物聯網操作系統發展建議
(1)依托“物聯網”“智能硬件”,借助政策/市場引導支持
我國重量級物聯網操作系統發展較緩,依托智能硬件、智慧城市等政策出臺,借助政策引導,建立專項基金,大力加快重量級操作系統發展。輕量級物聯網操作系統發展較好,隨著市場需求不斷刺激,推動操作系統面向應用場景和細分市場,進行差異化開發;聯動上下游,實現協同發展。
(2)加快創新技術研發
關注物聯網操作系統技術領域,大力發展安全、低功耗、互聯互通相關技術;重量級操作系統逐步擴展功能性,與人工智能、數據分析等前沿技術緊耦合。安全性上,依托trustzone技術,利用隔離思想,從操作系統層面加強軟件安全;同時,利用TLS打造內核+傳輸+云端全生命周期安全體系。低功耗上,完善調度和傳輸機制上低功耗方案,注重低功耗和實時性之間平衡發展,加強低功耗機制創新。互聯性上,借力國內低功耗廣域網發展優勢,大力加強操作系統對連接技術的支撐能力;在重量級操作系統內部耦合云應用引擎,加強云端互聯。
(3)加強與產業鏈各環節合作
圍繞操作系統和物聯網平臺,加強操作系統與硬件企業、開發者和平臺運營企業合作,建立物聯網生態。一是加強與硬件企業合作。定義標準的硬件驅動程序接口,實現內核與硬件驅動程序的分離。通過定義標準API接口,實現應用程序與硬件的分離。操作系統通過這種合作,能夠更加了解操作系統的主要需求來源,在硬件驅動、軟硬分離、終端適配、協同等方面更加有的放矢;二是加強與應用開發者合作。將解決方案結合特定場景進行優化,共同進行各自算法和代碼優化;三是加強與平臺運營企業合作。終端側操作系統需要配合平臺側實現狀態查詢、配置管理、告警管理、傳感器管理等功能,合作的加強可推動“操作系統+物聯網平臺”生態的快速建立。