物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  新聞中心  >  物聯網新聞  >  正文

深入解析物聯網操作系統(架構、功能與實例分析)

作者:高一弘
來源:物聯網資本論
日期:2018-03-12 16:51:56
摘要:物聯網(IoT)是目前最新最熱的技術熱點之一,也是這個信息化時代的重要發展節點。

  物聯網(IoT)是目前最新最熱的技術熱點之一,也是這個信息化時代的重要發展節點。相對于互聯網而言,物聯網的本質在于“萬物相連” 。物聯網的核心和基礎仍然是互聯網,是在互聯網基礎上延伸和擴展的網絡;其用戶端延伸和擴展到了任何物品與物品之間,進行信息交換和通信,也就是物物相息。

  物聯網操作系統概述:

  盡管物聯網的發展形態受到普遍看好和關注,但是“連接、區別、識別、溝通、操作”這五大問題一直如影隨形,可以說只有這些問題得到很好的解決和兼顧,才能繼續應對安全性、易用性、低成本等問題。在互聯網“人與人”之間的信息交換和共享基礎上,進一步擴展實現“物與物”“人與物”之間的信息交換和共享。

blob.png

  在這樣的大背景下,我們發現物聯網操作系統與傳統的個人計算機操作系統和智能手機類操作系統不同,它具備物聯網應用領域內的以下特點:

  1、內核尺寸伸縮性以及整體架構的可擴展性。

  物聯網的發展即將進入一個小的爆發期,所以面對一輪輪的技術革新甚至換代時,整體架構的靈活性和可擴展性可以說決定了一個企業的商業命脈。同時,為了適應不同的應用場景下的技術要求,內核尺寸的伸縮性也是需要面對的問題。

  2、內核的實時性。

  對于非搶占式調度方式的內核很難滿足關鍵性動作的實時性要求,比如常見的中斷響應和多任務調度等情況下,操作系統的實時性便有了更高的要求,特別是對于大多數的物聯網應用而言,有意義的響應時間決定了市場的接受度。

  3、高可靠性 。

  在物聯網的應用環境下,面對海量節點可以說設備一經投入使用,就很難再去維護。所以平均無故障運行時間和在一些嚴苛環境下的性能表現就顯得尤為重要。而在一向很注重信息安全的機密機構的數據安全性,引發了業內關于開源機制、VMM機制等的廣泛討論。

  4、低功耗。

  由于物聯網的應用場景和網絡節點的數量增多,低功耗是一個非常關鍵的指標。所以在整體架構設計的時候,就需要加入一些休眠模式、節能模式、降頻模式等邏輯判斷,以延長續航能力。

  物聯網操作系統整體架構和功能:

  在最低層的硬件平臺之上,有物聯網操作系統內核和外圍功能模塊,加上集成開發環境,這些子系統之間相互配合,共同組成一個完整的面向各種各樣物聯網應用場景的軟件基礎平臺,一起支撐了物聯網的具體應用。

blob.png

圖2是最抽象的一個物聯網操作系統描述。

  具體地說,物聯網操作系統除具備傳統操作系統的設備資源管理功能外,還具備下列功能:

  1、屏蔽物聯網碎片化的特征,提供統一的編程接口;

  2、物聯網生態環境培育;

  3、降低物聯網應用開發的成本和時間;

  4、為物聯網統一管理奠定基礎。

  針對物聯網操作系統的外圍功能模塊,也有一些特殊的要求:

  1、支持應用程序的遠程升級。

  上文說到,因為物聯網的種種應用環境和條件限制,遠程升級是物聯網操作系統在升級方式上的唯一選擇,當然同時也是最為低成本的選擇。

  2、外部存儲。

  支持硬盤、USB stick、Flash、ROM等常用存儲設備,以便在網絡連接中斷的情況下,起到臨時存儲數據的作用。

  3、對物聯網常用的無線通信功能要內置支持。

  在公共網絡、近場通信、桌面網絡接口之間,要能夠相互轉換,能夠把從一種協議獲取到的數據報文,轉換成為另外一種協議的報文發送出去。除此之外,還應支持短信息的接收和發送、語音通信、視頻通信等功能;

  4、 網絡功能。

  物聯網操作系統必須支持完善的TCP/IP協議棧,包括對IPv4和IPv6的同時支持。但TCP/IP協議棧是面向互聯網設計的通信協議棧,由于物聯網本身特征與互聯網有很大差異,TCP/IP協議棧在應用到物聯網的時候,面臨許多問題和挑戰,需要對TCP/IP協議棧做一番優化改造。

  5、支持完善的GUI功能。

  圖形用戶界面一般應用于物聯網的智能終端中,完成用戶和設備的交互。GUI應該定義一個完整的框架,以方便圖形功能的擴展。同時應該實現常用的用戶界面元素,比如文本框、按鈕、列表等。

  物聯網操作系統實例分析

  RT-Thread

  由中國開源社區主導開發的開源嵌入式實時操作系統,它包含實時嵌入式系統相關的各個組件:實時操作系統內核,TCP/IP協議棧、文件系統、libc接口、圖形引擎等。

blob.png

  從圖中對比上文提到的物聯網操作系統抽象架構,可以發現RT-Thread包括了:

  1、底層移植、驅動層,這層與硬件密切相關,由Drivers和CPU移植相構成。

  2、硬實時內核,這層是RT-Thread的核心,包括了內核系統中對象的實現,例如多線程及其調度,信號量,郵箱,消息隊列,內存管理,定時器等實現。

  3、組件層,這些是基于RT-Thread核心基礎上的外圍組件,例如文件系統,命令行shell接口,lwIP輕型TCP/IP協議棧,GUI圖形引擎等。

  Ostro Linux

  英特爾這款基于Yocto Project的操作系統Ostro Linux符合IoTivity,支持眾多的無線技術,還提供一種傳感器框架。它非常注重物聯網安全,提供操作系統、設備、應用程序和數據等層面的保護,包括加密和MAC。

blob.png

  在上圖的整體架構中,值得一提的是:

  1、編程接口: 編程接口是Ostro提供給應用程序開發者使用的,用于開發各種各樣的物聯網應用程序。當前來說,Ostro提供了多種多樣的編程接口供程序員根據自己的喜好和特定應用場景調用。

  2、物聯網協同框架: Ostro內置了對IoTivity的支持。IoTivity 是一個開源的軟件框架,用于無縫的支持設備到設備的互聯,以及人與設備的簡便互聯。其主要是為了滿足物聯網開發的需要,構建物聯網的生態系統,使得設備和設備之間可以安全可靠的連接。而IoTivity 通過提供一系列框架和服務來加速設備的互聯應用開發。該項目由 Open Interconnect Consortium (OIC) 組織贊助,相當于是 OIC 標準的一個參考實現。

  3、Ostro服務: Ostro服務主要是指系統級的一些進程或線程,這些進程或線程負責管理網絡連接,加載必要的支撐服務,以及提供進程間通信(IPC)支持等。在Ostro操作系統中,保留了大部分Linux操作系統所支持的systemd,D-Bus等。

  華為LiteOS

  身為中國物聯網技術尤其是NB-IoT的先驅,華為在物聯網操作系統上也大有作為。其發布的基于Linux的LiteOS甚至是目前世界上最輕量級的物聯網操作系統,其系統體積輕巧到 10KB 級,具備零配置、自組網、跨平臺的能力,可廣泛應用于智能家居、穿戴式、車聯網、工業等領域。

blob.png

  LiteOS應用廣泛,從基于MCU的設備,到與安卓兼容的應用程序處理系統,不一而足。這款可定制的操作系統擁有諸多功能,比如零配置、自動發現、自動聯網、快速啟動和實時操作,它提供廣泛的無線支持,包括LTE和網狀網絡。LiteOS隨華為的敏捷物聯網解決方案交付,它驅動窄帶物聯網(NB-IoT)解決方案。

  中興物聯網操作系統

  既然提到了華為,那么順便說一下在2016年中興提出的物聯網操作系統方案。

blob.png

  當時宣稱的亮點包括:

  1、連接 ——操作系統集成常見的網絡協議棧(TCP/IP、ZigBee、藍牙、WiFi等);

  2、遠程管控和簡易配置 ——操作系統集成設備管理協議(典型的是LWM2M),使得通過管理平臺,可以對不同廠商的智能硬件設備進行統一的管理;

  3、溝通和互操作 ——操作系統通過集成設備互聯互通框架(典型的是AllJoyn精簡核心庫),能夠在物和物之間進行溝通和互操作;云端的管理和操作使得物與物、物和人之間的互聯互通不再是障礙;

  4、在線開發調試 ——通過中興CDSP云平臺(Cloud Development & Support Platform),支持物聯網OS軟件的在線開發、編譯和調試,還可以通過CDSP云平臺對終端設備在線升級;實現多種廠商終端設備的支持。

  結語

  目前物聯網操作系統的市場情況是:十幾種物聯網操作系統都處在發展初期,產業鏈生態環境對此并未做出積極反映,目前還很少看到和聽到國內外企業在使用某種物聯網操作系統的信息。同時,開源Linux和RT操作系統還是主流,活躍在物聯網市場。

  操作系統是物聯網時代的戰略制高點,今天PC和手機時代的操作系統霸主未必能在物聯網時代延續霸業。操作系統產業的規律是:當壟斷已經形成,后來者就很難顛覆,只有等待下一次產業浪潮。如今,一個全新的、充滿想象空間的操作系統市場機會正在開啟。