設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 886|回復: 0
打印 上一主題 下一主題

物聯網操作系統

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2017-2-26 13:28:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
物聯網操作系統由內核、通信支持(Zibee、2/3/4G等通信支持、NFC、RS232/PLC支持等)、外圍組件(文件系統、GUI、Java虛擬機、XML文件解析器等)、集成開發環境等組成。
1 物聯網操作系統 -概述
物聯網是新一代信息技術的重要組成部分。其英文名稱是IOT(Internet Of Things)。由此,顧名思義,「物聯網就是物物相連的互聯網」。這有兩層意思:第一,物聯網的核心和基礎仍然是互聯網,是在互聯網基礎上的延伸和擴展的網路;第二,其用戶端延伸和擴展到了任何物品與物品之間,進行信息交換和通信。因此,物聯網的定義是通過射頻識別(RFID)、紅外感應器、全球定位系統、激光掃描器等信息感測設備,按約定的協議,把任何物品與互聯網相連接,進行信息交換和通信,以實現對物品的智能化識別、定位、跟蹤、監控和管理的一種網路。物聯網與互聯網的不同在於,互聯網關注的是「人與人」之間的信息交換和共享,而物聯網則進一步擴展,實現「物與物」、「人與物」之間的信息交換和共享。

  下圖示意了物聯網的分層體系結構:


物聯網大致可分為感知層、網路層(進一步分為網路接入層和核心層)、設備管理層、應用層等四個層次。其中最能體現物聯網特徵的,就是物聯網的感知層。感知層由各種各樣的感測器、協議轉換網關、通信網關、智能終端、刷卡機(POS機)、智能卡等終端設備組成。這些終端大部分都是具備計算能力的微型計算機。運行在這些終端上的最重要的系統軟體-操作系統,就是所謂的物聯網操作系統。

  與傳統的個人計算機或個人智能終端(智能手機、平板電腦等)上的操作系統不同,物聯網操作系統尤其獨特的特徵。這些特徵是為了更好的服務物聯網應用而存在的,運行物聯網操作系統的終端設備,能夠與物聯網的其它層次結合的更加緊密,數據共享更加順暢,能夠大大提升物聯網的生產效率。


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

  物聯網生態環境培育:拉通物聯網產業的上下游,培育物聯網硬體開發、物聯網系統軟體開發、物聯網應用軟體開發、物聯網業務運營、網路運營、物聯網數據挖掘等分離的商業生態環境,為物聯網的大發展建立基礎。類似於智能終端操作系統(iOS、Andriod等)對移動互聯網的生態環境培育作用;

  降低物聯網應用開發的成本和時間:物聯網操作系統是一個公共的業務開發平台,具備豐富完備的物聯網基礎功能組件和應用開發環境,可大大降低物聯網應用的開發時間和開發成本;提升數據共享能力:統一的物聯網操作系統具備一致的數據存儲和數據訪問方式,為不同行業之間的數據共享提供了可能。物聯網操作系統可打破行業壁壘,增強不同行業之間的數據共享能力,甚至可以提供「行業服務之上」的服務,比如數據挖掘等;

  為物聯網統一管理奠定基礎:採用統一的遠程控制和遠程管理介面,即使行業應用不同,也可採用相同的管理軟體對物聯網進行統一管理,大大提升物聯網的可管理性和可維護性,甚至可以做到整個物聯網的統一管理和維護。


3 物聯網操作系統 -體系架構
 物聯網操作系統由內核、通信支持(Zibee、2/3/4G等通信支持、NFC、RS232/PLC支持等)、外圍組件(文件系統、GUI、Java虛擬機、XML文件解析器等)、集成開發環境等組成,基於此,可衍生出一系列面向行業的特定應用,下圖展示了這個概念:





  物聯網操作系統與傳統的個人計算機操作系統和智能手機類操作系統不同,它具備物聯網應用領域內的一些獨特特點,現說明如下
4 物聯網操作系統 -物聯網操作系統的特點
內核的特點
  內核尺寸伸縮性強,能夠適應不同配置的硬體平台。比如,一個極端的情況下,內核尺寸必須維持在10K以內,以支撐內存和CPU性能都很受限的感測器,這時候內核具備基本的任務調度和通信功能即可。在另外一個極端的情況下,內核必須具備完善的線程調度、內存管理、本地存儲、複雜的網路協議、圖形用戶界面等功能,以滿足高配置的智能物聯網終端的要求。這時候的內核尺寸,不可避免的會大大增加,可以達到幾百K,甚至M級。這種內核尺寸的伸縮性,可以通過兩個層面的措施來實現:重新編譯和二進位模塊選擇載入。重新編譯措施很簡單,只需要根據不同的應用目標,選擇所需的功能模塊,然後對內核進行重新編譯即可。這個措施應用於內核定製非常深入的情況下,比如要求內核的尺寸達到10K以下的場合。而二進位模塊選擇載入,則用在對內核定製不是很深入的情況。這時候維持一個操作系統配置文件,文件里列舉了操作系統需要載入的所有二進位模塊。在內核初始化完成後,會根據配置文件,載入所需的二進位模塊。這需要終端設備要有外部存儲器(比如硬碟、Flash等),以存儲要載入的二進位模塊;

  內核的實時性必須足夠強,以滿足關鍵應用的需要。大多數的物聯網設備,要求操作系統內核要具備實時性,因為很多的關鍵性動作,必須在有限的時間內完成,否則將失去意義。內核的實時性包涵很多層面的意思,首先是中斷響應的實時性,一旦外部中斷髮生,操作系統必須在足夠短的時間內響應中斷並做出處理。其次是線程或任務調度的實時性,一旦任務或線程所需的資源或進一步運行的條件準備就緒,必須能夠馬上得到調度。顯然,基於非搶佔式調度方式的內核很難滿足這些實時性要求;

  內核架構可擴展性強。物聯網操作系統的內核,應該設計成一個框架,這個框架定義了一些介面和規範,只要遵循這些介面和規範,就可以很容易的在操作系統內核上增加新的功能的新的硬體支持。因為物聯網的應用環境具備廣譜特性,要求操作系統必須能夠擴展以適應新的應用環境。內核應該有一個基於匯流排或樹結構的設備管理機制,可以動態載入設備驅動程序或其它核心模塊。同時內核應該具備外部二進位模塊或應用程序的動態載入功能,這些應用程序存儲在外部介質上,這樣就無需修改內核,只需要開發新的應用程序,就可滿足特定的行業需求;

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

  節能省電,以支持足夠的電源續航能力。操作系統內核應該在CPU空閑的時候,降低CPU運行頻率,或乾脆關閉CPU。對於周邊設備,也應該實時判斷其運行狀態,一旦進入空閑狀態,則切換到省電模式。同時,操作系統內核應最大程度的降低中斷髮生頻率,比如在不影響實時性的情況下,把系統的時鐘頻率調到最低,以最大可能的節約電源。
外圍模塊的特點
  外圍模塊指為了適應物聯網的應用特點,操作系統應該具備的一些功能特徵,比如遠程維護和升級等。同時也指為了擴展物聯網操作系統內核的功能範圍,而開發的一些功能模塊,比如文件系統、網路協議棧等。物聯網操作系統的外圍模塊(或外圍功能)應該至少具備下列這些:

  支持操作系統核心、設備驅動程序或應用程序等的遠程升級。遠程升級是物聯網操作系統的最基本特徵,這個特性可大大降低維護成本。遠程升級完成後,原有的設備配置和數據能夠得以繼續使用。即使在升級失敗的情況下,操作系統也應該能夠恢復原有的運行狀態。遠程升級和維護是支持物聯網操作系統大規模部署的主要措施之一;

  支持常用的文件系統和外部存儲,比如支持FAT32/NTFS/DCFS等文件系統,支持硬碟、USB stick、Flash、ROM等常用存儲設備。在網路連接中斷的情況下,外部存儲功能會發揮重要作用。比如可以臨時存儲採集到的數據,再網路恢復后再上傳到數據中心。但文件系統和存儲驅動的代碼,要與操作系統核心代碼有效分離,能夠做到非常容易的裁剪;

  支持遠程配置、遠程診斷、遠程管理等維護功能。這裡不僅僅包涵常見的遠程操作特性,比如遠程修改設備參數、遠程查看運行信息等。還應該包涵更深層面的遠程操作,比如可以遠程查看操作系統內核的狀態,遠程調試線程或任務,異常時的遠程dump內核狀態等功能。這些功能不僅僅需要外圍應用的支持,更需要內核的天然支持;

  支持完善的網路功能。物聯網操作系統必須支持完善的TCP/IP協議棧,包括對IPv4和IPv6的同時支持。這個協議棧要具備靈活的伸縮性,以適應裁剪需要。比如可以通過裁剪,使得協議棧只支持IP/UDP等協議功能,以降低代碼尺寸。同時也支持豐富的IP協議族,比如Telnet/FTP/IPSec/SCTP等協議,以適用智能終端和高安全可靠的應用場合;

  對物聯網常用的無線通信功能要內置支持。比如支持GPRS/3G/HSPA/4G等公共網路的無線通信功能,同時要支持Zigbee/NFC/RFID等近場通信功能,支持WLAN/Ethernet等桌面網路介面功能。這些不同的協議之間,要能夠相互轉換,能夠把從一種協議獲取到的數據報文,轉換成為另外一種協議的報文發送出去。除此之外,還應支持簡訊息的接收和發送、語音通信、視頻通信等功能;

  內置支持XML文件解析功能。物聯網時代,不同行業之間,甚至相同行業的不同領域之間,會存在嚴重的信息共享壁壘。而xml格式的數據共享可以打破這個壁壘,因此XML標準在物聯網領域會得到更廣泛的應用。物聯網操作系統要內置對XML解析的支持,所有操作系統的配置數據,統一用XML格式進行存儲。同時也可對行業自行定義的XML格式進行解析,以完成行業轉換功能;

  支持完善的GUI功能。圖形用戶界面一般應用於物聯網的智能終端中,完成用戶和設備的交互。GUI應該定義一個完整的框架,以方便圖形功能的擴展。同時應該實現常用的用戶界面元素,比如文本框、按鈕、列表等。另外,GUI模塊應該與操作系統核心分離,最好支持二進位的動態載入功能,即操作系統核心根據應用程序需要,動態載入或卸載GUI模塊。GUI模塊的效率要足夠高,從用戶輸入確認,到具體的動作開始執行之間的時間(可以叫做click-launch時間)要足夠短,不能出現用戶點擊了確定、但任務的執行卻等待很長時間的情況;

  支持從外部存儲介質中動態載入應用程序。物聯網操作系統應提供一組API,供不同應用程序調用,而且這一組API應該根據操作系統所載入的外圍模塊實時變化。比如在載入了GUI模塊的情況下,需要提供GUI操作的系統調用,但是在沒有GUI模塊的情況下,就不應該提供GUI功能調用。同時操作系統、GUI等外圍模塊、應用程序模塊應該二進位分離,操作系統能夠動態的從外部存儲介質上按需載入應用程序。這樣的一種結構,就使得整個操作系統具備強大的擴展能力。操作系統內核和外圍模塊(GUI、網路等)提供基礎支持,而各種各樣的行業應用,通過應用程序來實現。最後在軟體發布的時候,只發布操作系統內核、所需的外圍模塊、應用程序模塊即可。
集成開發環境的特點
  集成開發環境是構築行業應用的關鍵工具,物聯網操作系統必須提供方便靈活的開發工具,以開發出適合行業應用的應用程序。開發環境必須足夠成熟並得到廣泛適用,以降低應用程序的上市時間(GTMT)。集成開發環境必須具備如下特點:

  物聯網操作系統要提供豐富靈活的API,供程序員調用,這組API應該能夠支持多種語言,比如既支持C/C++,也支持Java、Basic等程序設計語言;最好充分利用已有的集成開發環境。比如可以利用Eclipse、Visual Studio等集成開發環境,這些集成開發工具具備廣泛的應用基礎,可以在Internet上直接獲得良好的技術支持;除配套的集成開發環境外,還應定義和實現一種緊湊的應用程序格式(類似Windows的PE格式),以適用物聯網的特殊需要。通過對集成開發環境進行定製,使得集成開發環境生成的代碼,可以遵循這種格式;要提供一組工具,方便應用程序的開發和調試。比如提供應用程序下載工具、遠程調試工具等,支撐整個開發過程。

  可以看出,上述物聯網操作系統內核、外圍模塊、應用開發環境等,都是支撐平台,支撐更上一層的行業應用。行業應用才是最終產生生產力的軟體,但是物聯網操作系統是行業應用得以茁壯生長和長期有效生存的基礎,只有具備了強大靈活的物聯網操作系統,物聯網這棵大樹才能結出豐碩的果實。

5 物聯網操作系統 -物聯網操作系統的開發
當前尚無一個比較完善的可商業應用的物聯網操作系統。不過許多操作系統,都在朝這個方向發展。比如國產操作系統Hello China,已具備物聯網操作系統的大致雛形(完善的內核、文件系統、網路功能、GUI、開發工具等),進一步完善後,可作為典型的物聯網操作系統進行推廣。進一步的信息,請參考「擴展閱讀」相關內容。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-5-17 00:44 , Processed in 0.263553 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表