摘要:根據IOT設備的需求,以及IOT OS需要滿足的技術特征、現有IOT OS的來源,分別概述FreeRTOS、AliOS-Things、RT-Thread、Lite OS、Zephyr、Mbed OS、AWorksOS、HybridOS等8個IOT OS的特點。智能物聯網(AIOT,AI+IOT)是人工智能與物聯網的協同應用,據此分析IOT OS的發展方向。
關鍵字:物聯網操作系統;IOT OS;智能物聯網;AIOT
1 IOT 設備特點及IOT OS特征
2016年,WindRiver(風河系統公司)指出IOT設備的8大需求[1]:
不斷調整和升級的架構(芯片?);適應不同種類的設備軟件;設備安全;虛擬化;性能和可靠性;聯網;豐富的UI;工業認證。
何小慶得出IOT OS的5大技術特征[2]
1) 管理“物”——物聯網邊緣節點上的嵌入式實時低功耗設備。
2) 泛在通信,無線和有線,近場和遠距離的通信方式和協議。
3) 可維護性,OTA和遠程維護。
4) 安全,設備、通信、云等的安全。
5) 云平臺,遠程管理,這是物聯網大數據和人工智能的基礎。
2 現有IOT操作系統
現行的IOT操作系統來源[1][3]:
1) 基于移動端操操作系統如Linux、Android、IOS等進行裁剪和定制,來適應物聯網接入設備的需求。這些OS體積龐大、功耗較高,而且無法滿足安全認證和實時性等要求。
2) 傳統的嵌入式操作系統,FreeRTOS(亞馬遜)、RT-Thread、uCos(以前是商業收費,現在也開源了)、ThreadX(微軟)、VxWorks的變種。
3) 專門為IOT設計,SyberV、華為LiteOS、阿里AliOS-Things、Android Things、ARM Mbed OS。
2.1 FreeRTOS
FreeRTOS起源于英國人Richard Barry于2003年發布的開源的實時內核,發展歷程如下。
2003~2016,傳統嵌入式OS。
2017成為AWS開源項目,亞馬遜增加IOT應用組件,連接云,變為IOT OS。
2016年,Micrium公司的μC/OS被Silicon Labs收購,出于競爭的擔心,ST和NXP等知名的嵌入式芯片公司轉向支持FreeRTOS[4]。
OS主要特點如下。
歷史悠久,開發者眾多,支持的CPU硬件架構特別多,達35種。
FreeRTOS有一些列軟件,版本眾多,包括開源版本、授權版本、安全版本(SafeRTOS)、Amazon開源IOT OS版本。
支持AWS邊緣計算的功能(Greengrass)。
除了AWS,官方沒有支持第三方云平臺。
2.2 AliOS-Things
AliOS Things發布于2017年杭州云棲大會, 是AliOS家族旗下的、面向IoT領域的、高可伸縮的物聯網操作系統。OS主要特點如下。
支持微內核基礎上的POSIX實現,方便程序框架/程序庫移植。
支持云端一體在線開發(靈活架構,自組網),提供IOT全鏈路開發、模擬和部署支持。
支持APP獨立升級;組件化思想的多BIN或差分升級。內核、框架層、應用層三個獨立的BIN文件,芯片廠商可以出廠預置內核,應用層只關心應用層開發,不關心硬件,方便移植。
支持可信執行環境(csky);支持ID2根身份證和秘鑰;支持系統調用。
v1.1.1集成了自研的Bone Engine,它是一套為AliOS Things優化定制的JavaScript引擎,集成了JavaScript的編程及運行環境。
集成了IOT套件,Link Kit,Link Voice等阿里云IoT核心組件,產品可以訪問阿里云服務。
支持的CPU架構一般。
2.3 RT-Thread
起源于上海睿賽德電子科技公司創始人和總經理熊譜翔于2006年創建的RT-Thread 開源實時操作系統項目,發展歷程如下。
2011 年 RT-Thread 1.0 版本正式發布。
2015 年 2.0版本和現在名氣很大的柿餅 GUI 捆綁發布。
2017 年發布 3.0,RT-Thread 全面啟動 IoT 戰略 。
OS特點如下。
柿餅UI,小型、現代化的圖像庫。
開源、社區化、中立,開放支持第三方云。
Nano版本和IOT版本。
集成開源JerryScript引擎,支持JavaScript開發。
組件比較豐富。
混合微內核架構正在內測[5],平臺是柿餅M7的開發板,全志R11處理器,ARM Cortex-A7。
2.4 Lite OS
Huawei LiteOS是華為針對物聯網領域推出的輕量級物聯網操作系統,是華為物聯網戰略的重要組成部分,具備輕量級、低功耗、互聯互通、組件豐富、快速開發等關鍵能力,為開發者提供 “一站式” 完整軟件平臺,有效降低開發門檻、縮短開發周期。發展歷程如下,走過了內部產品-開源軟件-IoT 解決方案發展之路。
2012 年華為開發支持公司內部消費產品的小型嵌入式操作系統 LiteOS。
2014 和 2015 年 LiteOS 與Huawei 手機和智能手表一同出貨。
2016 年 Lite OS內核正式開源。
2017 年發布 LiteOS IoT 解決方案(即端云解決方案)
2018 年華為加速開發步伐,發布LiteOS SDK 2.1 和 Lite OS Studio 1.0(開發環境)。
2019以后,鴻蒙OS的架構中,LiteOS也是其內核之一(Linux、鴻蒙、LiteOS)。
OS主要特點:
OpenCPU架構,MCU和通信模組二合一,顯著降低終端體積和終端成本,特別適用于NB-IOT應用場景和海思芯片,這是它的主要優勢。
智能邊緣項目KubeEdge,名字來源于Kube + Edge,顧名思義就是依托Kubernetes的容器編排和調度能力,實現云邊協同、計算下沉、海量設備接入等。
AI引擎、JS引擎。
支持的CPU架構單一。
2.5 Zephyr
Zephy是2016年由Intel、Synopsys、NXP等公司發起的開源實時操作系統平臺項目,現在由Linux基金會管理。Zephyr是一款小型且可擴展的操作系統,尤其適用于資源受限的硬件系統,可支持多種架構。
OS特點如下:
起點很高,來自風河的成熟代碼。
代碼結構和Linux內核很相似。
支持的CPU架構豐富。
安全設計方面,支持用戶態/內核態;支持MPU;內核對象權限模型。
支持TEE,Armv8-M trustzone。
功能安全,打算通過IEC 61508和ISO 26262認證。
中間件豐富,支持很多協議。
2.6 Mbed OS
2014年,ARM發布了Mbed OS,試圖基于Mbed OS建立一個龐大的物聯網生態,以此來連接硬件廠商、軟件服務商、云服務商以及開發者社區。OS特點如下。
面向ARM Cortex-M系列處理器。
版本從1.0、2.0、3.0,然后直接到5.0,6.0在計劃中。
模塊化的可配置軟件棧,不配置則排除不必要的軟件組件,進而降低內存要求。
使用C++作為程序設計語言。
在線編譯,或者導出工程,用其他IDE編譯,部分源碼不開放。
內核uVisor運行在特權模式,內核創建隔離的安全域,安全域對內存和外設的訪問權限有限制。
支持ARM PSA架構。
2017年ARM推出了mbed Edge,與mbed Cloud和mbed OS組成邊緣計算的 IoT 方案 。
云服務pelion 也是在國外,影響了國人的使用。
2.7 AWorksOS
AWorksOS是ZLG(周立功,廣州致遠電子)歷時12年開發的工業智能物聯開發平臺,特點如下。
AWorksOS是不開源的,內部核心功能組件都是以庫的形式提供,相關接口通過頭文件引出。
AWorksOS以SDK方式發布,伴隨著特定開發板,SDK中包含了文檔、工具、示例代碼、模版工程等。
OS的發展,依托ZLG的AWTK開源GUI引擎。
分為“核心域”和“非核心域”,即“業務”和“技術”, 非核心域包括底層驅動、操作系統和組件;開發者忽略產品底層技術細節,專注“核心域”。
將MCU和OS的共性抽象為統一接口,應用實現“一次編程,終生使用,跨平臺”。
支持的CPU很少,目前有ARM Cortex-M4/M7/A7,ARM9。
2.8 HybridOS
合璧操作系統(HybridOS)是北京飛漫軟件于 2018 年 11 月發起的一個全新的開源項目。HybridOS 的目標是為物聯網設備和云計算環境打造一個全新的操作系統,特點如下。
2019.11.18發布了第一個組件hiCairo;2019.12.10發布了了2D/3D的圖形組件,包括hiMesa、hiDRM、hiDRMDrivers、以及hiCairo,這些和MiniGUI(最初由飛漫軟件創始人魏永明開發,20年的發展歷程,為 IoT 智能設備和嵌入式系統提供圖形界面及交互實現)一起組成了HybridOS的圖形棧;2020.3.29,隨著MiniGUI 5.0的發布,HybridOS也升級了圖形棧。
為IOT網絡中的虛擬計算節點設計,故可運行在設備端、云端、客戶端。
提供云端和客戶端的接口,以及設備端與這兩者通訊的協議棧。
支持python、JavaScipt、C/C++。
依托MiniGUI,增加數據庫,以及其它復雜的圖形處理。
2019.9.19宣布MiniGUI4.0.2支持RT-Thread,但是沒找到相關驗證的源碼。
系統組件是damon進程;網絡通信等協議棧作為系統的服務。
3 AI+IOT對操作系統提出的新課題
移動操作系統Android和Linux,無法滿足工業安全認證和實時性要求;傳統的嵌入式操作系統無法滿足系統擴展、維護和應用的便捷需求;針對智能物聯網(AIOT,AI+IOT)場景的廣義的嵌入式操作系統和泛IOT OS技術正在探索和研究中[6]。
智能物聯網是2018年興起的概念[7],是人工智能與物聯網的協同應用,人工智能使物聯網獲取感知與識別能力,物聯網為人工智能提供訓練算法的數據。AIOT中系統通過各種信息傳感器實時采集各類信息(一般是在監控、互動、連接情景下的),在終端設備、邊緣域或云中心通過機器學習對數據進行智能分析,包括定位、對比、預測、調度等。
AIOT中終端設備還需要具備智能特性,預計未來IOT OS會向著兩個方向發展,一是大型、復雜、可配置,二是更小、更安全、硬化,則IOT OS需要滿足如下要求。
1)云端協同/邊緣計算架構
云端人工智能技術如何透過邊緣計算與設備節點的 IOT OS結合起來[2];邊緣節點管理和控制該場景中各種物聯網設備和計算硬件[8],同時也支撐該場景中的應用層業務需求,提供基本的安全性。
2)人工智能,終端智能化,具備感知和交互能力
AI引擎,JS引擎,音頻、圖像算法。
3)終端虛擬化
輕量級容器。
4)功能安全
通過工業級認證,IEC 61508和ISO 26262。
5)信息安全
內核高度安全,通過形式化認證和安全認證[9],ARM Cortex-M33/M35P軟核通過了EAL6+
認證[10]。內核支持用戶態/特權態;進程MPU隔離;內核對象權限。
6)可信物聯網,數據可信
結合區塊鏈技術[11],確保端到端數據可信。終端、邊緣、后端基礎設施(云端)、后端應用程序的數據傳遞,確保可信。
7)可擴展的內核
大型、復雜、可配置:支持X86、ARM Cortex-A系列;
更小、更安全、硬化:支持極簡的MCU等資源受限的設備。
8)APP單獨管理
多BIN特征,內核、框架層、應用三個BIN文件,應用層不關心硬件。
9)高級語言支持
Micropython,JavaScript。
10)豐富的UI
占用資料少、界面流暢度高。
11)OS抽象層
支持POSIX、CMSIS RTOS
作者:wangyw
文章來源:博客園
審核編輯 黃昊宇
-
IOT
+關注
關注
187文章
4210瀏覽量
196794 -
物聯網操作系統
+關注
關注
3文章
114瀏覽量
13363 -
智能物聯網
+關注
關注
0文章
77瀏覽量
6410 -
IoT OS
+關注
關注
0文章
2瀏覽量
3790
發布評論請先 登錄
相關推薦
評論