當前位置:股票大全官網 - 基金投資 - 物聯網操作系統的架構

物聯網操作系統的架構

物聯網的操作系統由內核、輔助外圍模塊(文件系統、圖形用戶界面、通信協議棧、各種常用設備的驅動程序等組成。),以及集成開發環境。基於此,可以衍生出壹系列面向行業的具體應用。

物聯網的操作系統不同於傳統的個人電腦操作系統和智能手機操作系統,它在物聯網的應用領域具有壹些獨特的特征,如下所述。

物聯網操作系統內核的特征

1,內核大小靈活,可以適應不同的硬件平臺。例如,在極端情況下,內核大小必須保持在10K以內,以支持內存和CPU性能有限的傳感器。此時內核已經具備基本的任務調度和通信功能。另壹個極端,內核必須具備完善的線程調度、內存管理、本地存儲、復雜網絡協議、圖形用戶界面等功能,以滿足高配置智能物聯網終端的需求。這個時候內核的大小必然會大大增加,達到幾百K甚至M級。內核大小的這種可伸縮性可以通過兩種方法來實現:重新編譯和二進制模塊選擇性加載。重新編譯的措施很簡單,只需要根據不同的應用目標選擇需要的功能模塊,然後重新編譯內核即可。該措施適用於內核定制非常深入的情況,比如要求內核大小在10K以下的情況。選擇加載二進制模塊,在內核定制不是很深的情況下使用。此時,維護壹個操作系統配置文件,該文件列出了操作系統需要加載的所有二進制模塊。內核初始化完成後,將根據配置文件加載所需的二進制模塊。這就要求終端設備要有外部存儲器(如硬盤、閃存等。)來存儲要加載的二進制模塊;

2.內核的實時性能必須足夠強,才能滿足關鍵應用的需求。大多數物聯網設備都要求操作系統內核是實時的,因為很多關鍵動作必須在有限的時間內完成,否則就失去了意義。內核的實時性包含許多含義。首先是中斷響應的實時性。壹旦外部中斷發生,操作系統必須在足夠短的時間內響應並處理該中斷。其次,線程或任務調度是實時的。壹旦任務或線程的進壹步操作的資源或條件準備就緒,就必須立即對其進行調度。顯然,基於非搶占式調度模式的內核很難滿足這些實時性要求;

3.內核架構是高度可伸縮的。物聯網操作系統的內核應該設計成壹個框架,框架定義了壹些接口和規範。只要遵循這些接口和規範,就很容易向操作系統內核添加新功能和新硬件支持。由於物聯網的應用環境具有廣譜性的特點,這就要求操作系統必須具有可擴展性以適應新的應用環境。內核要有基於總線或樹形結構的設備管理機制,可以動態加載設備驅動或其他核心模塊。同時,內核應具有外部二進制模塊或應用程序的動態加載功能,這些模塊或應用程序存儲在外部介質中,這樣就不需要修改內核,只需要開發新的應用程序來滿足特定的行業需求;

4.內核應該足夠安全可靠。物聯網的應用環境毋庸置疑,具有自動化程度高、人為幹預少的特點,這就要求內核足夠可靠,能夠支持長期獨立運行。安全對於物聯網來說更為關鍵,甚至關系到國家的命脈。比如壹個不安全的內核應用到國家電網控制中,壹旦被外界入侵,影響將無法估量。為了加強安全性,內核應該支持內存保護(VMM等機制)、異常管理等機制,在必要時隔離錯誤代碼。另壹種安全策略是不開放源代碼,或者不開放關鍵部分的內核源代碼。不公平的開源代碼只是安全策略,不代表內核不能免費應用;

5.節省能源和電力,以支持充足的電池壽命。當CPU空閑時,操作系統內核要降低CPU的運行頻率,或者幹脆關閉CPU。對於外圍設備,也要實時判斷運行狀態,壹旦進入空閑狀態,就要切換到省電模式。同時,操作系統內核要盡量減少中斷頻率,比如在不影響實時性能的情況下,把系統的時鐘頻率調到最低,盡可能省電。

物聯網操作系統外圍模塊的特點

外圍模塊是指壹個操作系統為了適應物聯網的應用特點而應該具備的壹些功能特性,比如遠程維護和升級。同時也指壹些功能模塊,如文件系統、網絡協議棧等,是為了擴展物聯網操作系統內核的功能範圍而開發的。物聯網操作系統的外圍模塊(或外圍功能)至少應具備以下條件:

1.支持操作系統內核、設備驅動程序或應用程序的遠程升級。遠程升級是物聯網操作系統最基本的特點,可以大大降低維護成本。遠程升級完成後,可以繼續使用原有的設備配置和數據。即使升級失敗,操作系統也應該能夠恢復到原來的運行狀態。遠程升級維護是支撐物聯網操作系統大規模部署的主要措施之壹。

2.支持通用文件系統和外部存儲。比如支持FAT32/NTFS/DCFS等文件系統,以及硬盤、u盤、Flash、ROM等常用存儲設備。當網絡連接中斷時,外部存儲功能將發揮重要作用。例如,收集的數據可以臨時存儲,然後在網絡恢復後上傳到數據中心。但是文件系統和存儲驅動的代碼要和操作系統的核心代碼有效分離,可以很容易的裁剪;

3.支持遠程配置、遠程診斷、遠程管理等維護功能。這不僅包括常見的遠程操作功能,如遠程修改設備參數和遠程查看操作信息。還應該包括更深層次的遠程操作,比如能夠遠程查看操作系統內核的狀態,遠程調試線程或任務,以及在內核出現異常時遠程轉儲內核的狀態。這些功能不僅需要外圍應用的支持,還需要內核的天然支持;

4.支持完善的網絡功能。物聯網操作系統必須支持完善的TCP/IP協議棧,包括IPv4和IPv6。該協議棧應具有靈活性和可擴展性,以滿足裁剪的需要。比如協議棧可以通過裁剪只支持IP/UDP等協議功能,以減少代碼量。同時還支持豐富的IP協議家族,如Telnet/FTP/IPSec/SCTP,適用於智能終端和高安全性、可靠性的應用。

5.應對物聯網的常見無線通信功能提供內置支持。比如支持GPRS/3G/HSPA/4G等公網無線通信功能,Zigbee/NFC/RFID等近場通信功能,WLAN/以太網等桌面網絡接口功能。這些不同的協議應該能夠相互轉換,從壹種協議得到的數據報文可以轉換成另壹種協議的報文發送出去。此外,還應支持短信收發、語音通信、視頻通信等功能;

6、內置支持XML文件解析功能。在物聯網時代,不同行業之間,甚至同壹行業的不同領域之間,都會出現嚴重的信息享受障礙。XML格式的數據共享可以打破這壹障礙,因此XML標準將在物聯網領域得到更廣泛的應用。物聯網操作系統應該內置對XML解析的支持,所有操作系統的配置數據都應該以XML格式存儲。同時還可以解析行業自己定義的XML格式,完成行業轉換功能;

7.支持完善的GUI功能。物聯網智能終端壹般采用圖形用戶界面(GUI)來完成用戶與設備之間的交互。GUI應該定義壹個完整的框架,以便於圖形功能的擴展。同時,我們應該實現常見的用戶界面元素,如文本框、按鈕、列表等。另外,GUI模塊要和操作系統內核分開,最好支持二進制動態加載功能,即操作系統內核根據應用的需要動態加載或卸載GUI模塊。GUI模塊的效率要足夠高,從用戶輸入確認到執行具體動作的時間(可以稱為點擊-啟動時間)要足夠短,讓用戶不能點擊OK而是等待很長時間才執行任務;

8.支持從外部存儲介質動態加載應用程序。物聯網操作系統要提供壹套API供不同的應用調用,這套API要根據操作系統加載的外圍模塊實時變化。比如在加載GUI模塊的情況下,需要提供GUI操作的系統調用,但是在沒有GUI模塊的情況下,就不應該提供GUI函數調用。同時,操作系統、GUI等外圍模塊和應用模塊要二進制分離,操作系統可以按需從外部存儲介質動態加載應用。這樣的結構使得整個操作系統具有很強的擴展能力。操作系統內核和外圍模塊(GUI、網絡等。)提供基礎支持,而各種行業應用則通過應用程序實現。最後,當軟件發布時,只能發布操作系統內核、所需的外圍模塊和應用模塊。

物聯網操作系統集成開發環境的特點

集成開發環境是構建工業應用的關鍵工具,物聯網操作系統必須提供方便靈活的開發工具,開發適合工業應用的應用。開發環境必須足夠成熟,並廣泛用於縮短應用程序的上市時間(GTMT)。集成開發環境必須具有以下特征:

1.物聯網操作系統應該提供豐富靈活的API供程序員調用。這套API應該可以支持多種語言,比如C/C++、Java、Basic等編程語言。

2.最好充分利用現有的集成開發環境。例如,可以使用Eclipse和Visual Studio等集成開發環境。這些集成開發工具具有廣泛的應用基礎,可以直接在互聯網上獲得良好的技術支持。

3.除了集成開發環境之外,還應該定義和實現壹種緊湊的應用格式(類似於Windows的PE格式),以滿足物聯網的特殊需求。通過定制集成開發環境,集成開發環境生成的代碼可以遵循這種格式;

4、提供壹套工具,方便應用開發和調試。比如提供應用下載工具和遠程調試工具,支持整個開發過程。

可以看出,上述物聯網操作系統的內核、外圍模塊和應用開發環境,都是支撐下壹層次工業應用的支撐平臺。工業應用是最終產生生產力的軟件,但物聯網操作系統是工業應用強勁增長和長期有效生存的基礎。只有擁有強大靈活的物聯網操作系統,物聯網之樹才能結出豐碩的果實。