深入解析物聯(lián)網(wǎng)操作系統(tǒng)(架構(gòu)、功能與實例分析)
物聯(lián)網(wǎng)(IoT)是目前最新最熱的技術(shù)熱點之一,也是這個信息化時代的重要發(fā)展節(jié)點。相對于互聯(lián)網(wǎng)而言,物聯(lián)網(wǎng)的本質(zhì)在于“萬物相連” 。物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上延伸和擴展的網(wǎng)絡(luò);其用戶端延伸和擴展到了任何物品與物品之間,進行信息交換和通信,也就是物物相息。
物聯(lián)網(wǎng)操作系統(tǒng)概述:
盡管物聯(lián)網(wǎng)的發(fā)展形態(tài)受到普遍看好和關(guān)注,但是“連接、區(qū)別、識別、溝通、操作”這五大問題一直如影隨形,可以說只有這些問題得到很好的解決和兼顧,才能繼續(xù)應(yīng)對安全性、易用性、低成本等問題。在互聯(lián)網(wǎng)“人與人”之間的信息交換和共享基礎(chǔ)上,進一步擴展實現(xiàn)“物與物”“人與物”之間的信息交換和共享。
在這樣的大背景下,我們發(fā)現(xiàn)物聯(lián)網(wǎng)操作系統(tǒng)與傳統(tǒng)的個人計算機操作系統(tǒng)和智能手機類操作系統(tǒng)不同,它具備物聯(lián)網(wǎng)應(yīng)用領(lǐng)域內(nèi)的以下特點:
1、內(nèi)核尺寸伸縮性以及整體架構(gòu)的可擴展性。
物聯(lián)網(wǎng)的發(fā)展即將進入一個小的爆發(fā)期,所以面對一輪輪的技術(shù)革新甚至換代時,整體架構(gòu)的靈活性和可擴展性可以說決定了一個企業(yè)的商業(yè)命脈。同時,為了適應(yīng)不同的應(yīng)用場景下的技術(shù)要求,內(nèi)核尺寸的伸縮性也是需要面對的問題。
2、內(nèi)核的實時性。
對于非搶占式調(diào)度方式的內(nèi)核很難滿足關(guān)鍵性動作的實時性要求,比如常見的中斷響應(yīng)和多任務(wù)調(diào)度等情況下,操作系統(tǒng)的實時性便有了更高的要求,特別是對于大多數(shù)的物聯(lián)網(wǎng)應(yīng)用而言,有意義的響應(yīng)時間決定了市場的接受度。
3、高可靠性 。
在物聯(lián)網(wǎng)的應(yīng)用環(huán)境下,面對海量節(jié)點可以說設(shè)備一經(jīng)投入使用,就很難再去維護。所以平均無故障運行時間和在一些嚴苛環(huán)境下的性能表現(xiàn)就顯得尤為重要。而在一向很注重信息安全的機密機構(gòu)的數(shù)據(jù)安全性,引發(fā)了業(yè)內(nèi)關(guān)于開源機制、VMM機制等的廣泛討論。
4、低功耗。
由于物聯(lián)網(wǎng)的應(yīng)用場景和網(wǎng)絡(luò)節(jié)點的數(shù)量增多,低功耗是一個非常關(guān)鍵的指標。所以在整體架構(gòu)設(shè)計的時候,就需要加入一些休眠模式、節(jié)能模式、降頻模式等邏輯判斷,以延長續(xù)航能力。
物聯(lián)網(wǎng)操作系統(tǒng)整體架構(gòu)和功能:
在最低層的硬件平臺之上,有物聯(lián)網(wǎng)操作系統(tǒng)內(nèi)核和外圍功能模塊,加上集成開發(fā)環(huán)境,這些子系統(tǒng)之間相互配合,共同組成一個完整的面向各種各樣物聯(lián)網(wǎng)應(yīng)用場景的軟件基礎(chǔ)平臺,一起支撐了物聯(lián)網(wǎng)的具體應(yīng)用。
圖2是最抽象的一個物聯(lián)網(wǎng)操作系統(tǒng)描述。
具體地說,物聯(lián)網(wǎng)操作系統(tǒng)除具備傳統(tǒng)操作系統(tǒng)的設(shè)備資源管理功能外,還具備下列功能:
1、屏蔽物聯(lián)網(wǎng)碎片化的特征,提供統(tǒng)一的編程接口;
2、物聯(lián)網(wǎng)生態(tài)環(huán)境培育;
3、降低物聯(lián)網(wǎng)應(yīng)用開發(fā)的成本和時間;
4、為物聯(lián)網(wǎng)統(tǒng)一管理奠定基礎(chǔ)。
針對物聯(lián)網(wǎng)操作系統(tǒng)的外圍功能模塊,也有一些特殊的要求:
1、支持應(yīng)用程序的遠程升級。
上文說到,因為物聯(lián)網(wǎng)的種種應(yīng)用環(huán)境和條件限制,遠程升級是物聯(lián)網(wǎng)操作系統(tǒng)在升級方式上的唯一選擇,當然同時也是最為低成本的選擇。
2、外部存儲。
支持硬盤、USB stick、Flash、ROM等常用存儲設(shè)備,以便在網(wǎng)絡(luò)連接中斷的情況下,起到臨時存儲數(shù)據(jù)的作用。
3、對物聯(lián)網(wǎng)常用的無線通信功能要內(nèi)置支持。
在公共網(wǎng)絡(luò)、近場通信、桌面網(wǎng)絡(luò)接口之間,要能夠相互轉(zhuǎn)換,能夠把從一種協(xié)議獲取到的數(shù)據(jù)報文,轉(zhuǎn)換成為另外一種協(xié)議的報文發(fā)送出去。除此之外,還應(yīng)支持短信息的接收和發(fā)送、語音通信、視頻通信等功能;
4、 網(wǎng)絡(luò)功能。
物聯(lián)網(wǎng)操作系統(tǒng)必須支持完善的TCP/IP協(xié)議棧,包括對IPv4和IPv6的同時支持。但TCP/IP協(xié)議棧是面向互聯(lián)網(wǎng)設(shè)計的通信協(xié)議棧,由于物聯(lián)網(wǎng)本身特征與互聯(lián)網(wǎng)有很大差異,TCP/IP協(xié)議棧在應(yīng)用到物聯(lián)網(wǎng)的時候,面臨許多問題和挑戰(zhàn),需要對TCP/IP協(xié)議棧做一番優(yōu)化改造。
5、支持完善的GUI功能。
圖形用戶界面一般應(yīng)用于物聯(lián)網(wǎng)的智能終端中,完成用戶和設(shè)備的交互。GUI應(yīng)該定義一個完整的框架,以方便圖形功能的擴展。同時應(yīng)該實現(xiàn)常用的用戶界面元素,比如文本框、按鈕、列表等。
物聯(lián)網(wǎng)操作系統(tǒng)實例分析
RT-Thread
由中國開源社區(qū)主導(dǎo)開發(fā)的開源嵌入式實時操作系統(tǒng),它包含實時嵌入式系統(tǒng)相關(guān)的各個組件:實時操作系統(tǒng)內(nèi)核,TCP/IP協(xié)議棧、文件系統(tǒng)、libc接口、圖形引擎等。
從圖中對比上文提到的物聯(lián)網(wǎng)操作系統(tǒng)抽象架構(gòu),可以發(fā)現(xiàn)RT-Thread包括了:
1、底層移植、驅(qū)動層,這層與硬件密切相關(guān),由Drivers和CPU移植相構(gòu)成。
2、硬實時內(nèi)核,這層是RT-Thread的核心,包括了內(nèi)核系統(tǒng)中對象的實現(xiàn),例如多線程及其調(diào)度,信號量,郵箱,消息隊列,內(nèi)存管理,定時器等實現(xiàn)。
3、組件層,這些是基于RT-Thread核心基礎(chǔ)上的外圍組件,例如文件系統(tǒng),命令行shell接口,lwIP輕型TCP/IP協(xié)議棧,GUI圖形引擎等。
Ostro Linux
英特爾這款基于Yocto Project的操作系統(tǒng)Ostro Linux符合IoTivity,支持眾多的無線技術(shù),還提供一種傳感器框架。它非常注重物聯(lián)網(wǎng)安全,提供操作系統(tǒng)、設(shè)備、應(yīng)用程序和數(shù)據(jù)等層面的保護,包括加密和MAC。
在上圖的整體架構(gòu)中,值得一提的是:
1、編程接口: 編程接口是Ostro提供給應(yīng)用程序開發(fā)者使用的,用于開發(fā)各種各樣的物聯(lián)網(wǎng)應(yīng)用程序。當前來說,Ostro提供了多種多樣的編程接口供程序員根據(jù)自己的喜好和特定應(yīng)用場景調(diào)用。
2、物聯(lián)網(wǎng)協(xié)同框架: Ostro內(nèi)置了對IoTivity的支持。IoTivity 是一個開源的軟件框架,用于無縫的支持設(shè)備到設(shè)備的互聯(lián),以及人與設(shè)備的簡便互聯(lián)。其主要是為了滿足物聯(lián)網(wǎng)開發(fā)的需要,構(gòu)建物聯(lián)網(wǎng)的生態(tài)系統(tǒng),使得設(shè)備和設(shè)備之間可以安全可靠的連接。而IoTivity 通過提供一系列框架和服務(wù)來加速設(shè)備的互聯(lián)應(yīng)用開發(fā)。該項目由 Open Interconnect Consortium (OIC) 組織贊助,相當于是 OIC 標準的一個參考實現(xiàn)。
3、Ostro服務(wù): Ostro服務(wù)主要是指系統(tǒng)級的一些進程或線程,這些進程或線程負責(zé)管理網(wǎng)絡(luò)連接,加載必要的支撐服務(wù),以及提供進程間通信(IPC)支持等。在Ostro操作系統(tǒng)中,保留了大部分Linux操作系統(tǒng)所支持的systemd,D-Bus等。
華為LiteOS
身為中國物聯(lián)網(wǎng)技術(shù)尤其是NB-IoT的先驅(qū),華為在物聯(lián)網(wǎng)操作系統(tǒng)上也大有作為。其發(fā)布的基于Linux的LiteOS甚至是目前世界上最輕量級的物聯(lián)網(wǎng)操作系統(tǒng),其系統(tǒng)體積輕巧到 10KB 級,具備零配置、自組網(wǎng)、跨平臺的能力,可廣泛應(yīng)用于智能家居、穿戴式、車聯(lián)網(wǎng)、工業(yè)等領(lǐng)域。
LiteOS應(yīng)用廣泛,從基于MCU的設(shè)備,到與安卓兼容的應(yīng)用程序處理系統(tǒng),不一而足。這款可定制的操作系統(tǒng)擁有諸多功能,比如零配置、自動發(fā)現(xiàn)、自動聯(lián)網(wǎng)、快速啟動和實時操作,它提供廣泛的無線支持,包括LTE和網(wǎng)狀網(wǎng)絡(luò)。LiteOS隨華為的敏捷物聯(lián)網(wǎng)解決方案交付,它驅(qū)動窄帶物聯(lián)網(wǎng)(NB-IoT)解決方案。
中興物聯(lián)網(wǎng)操作系統(tǒng)
既然提到了華為,那么順便說一下在2016年中興提出的物聯(lián)網(wǎng)操作系統(tǒng)方案。
當時宣稱的亮點包括:
1、連接 ——操作系統(tǒng)集成常見的網(wǎng)絡(luò)協(xié)議棧(TCP/IP、ZigBee、藍牙、WiFi等);
2、遠程管控和簡易配置 ——操作系統(tǒng)集成設(shè)備管理協(xié)議(典型的是LWM2M),使得通過管理平臺,可以對不同廠商的智能硬件設(shè)備進行統(tǒng)一的管理;
3、溝通和互操作 ——操作系統(tǒng)通過集成設(shè)備互聯(lián)互通框架(典型的是AllJoyn精簡核心庫),能夠在物和物之間進行溝通和互操作;云端的管理和操作使得物與物、物和人之間的互聯(lián)互通不再是障礙;
4、在線開發(fā)調(diào)試 ——通過中興CDSP云平臺(Cloud Development & Support Platform),支持物聯(lián)網(wǎng)OS軟件的在線開發(fā)、編譯和調(diào)試,還可以通過CDSP云平臺對終端設(shè)備在線升級;實現(xiàn)多種廠商終端設(shè)備的支持。
結(jié)語
目前物聯(lián)網(wǎng)操作系統(tǒng)的市場情況是:十幾種物聯(lián)網(wǎng)操作系統(tǒng)都處在發(fā)展初期,產(chǎn)業(yè)鏈生態(tài)環(huán)境對此并未做出積極反映,目前還很少看到和聽到國內(nèi)外企業(yè)在使用某種物聯(lián)網(wǎng)操作系統(tǒng)的信息。同時,開源Linux和RT操作系統(tǒng)還是主流,活躍在物聯(lián)網(wǎng)市場。
操作系統(tǒng)是物聯(lián)網(wǎng)時代的戰(zhàn)略制高點,今天PC和手機時代的操作系統(tǒng)霸主未必能在物聯(lián)網(wǎng)時代延續(xù)霸業(yè)。操作系統(tǒng)產(chǎn)業(yè)的規(guī)律是:當壟斷已經(jīng)形成,后來者就很難顛覆,只有等待下一次產(chǎn)業(yè)浪潮。如今,一個全新的、充滿想象空間的操作系統(tǒng)市場機會正在開啟。