如何做到物聯網終端操作系統的目標,或者說如何設計一個好的物聯網終端操作系統?下面我們從物聯網終端設備定義出發討論其對操作系統的新的要求?物聯網又對物聯網應用又有哪些新的要求,從而體現在物聯網終端操作系統的能力上?
硬件控制能力
物聯網終端設備可以感知或控制物體一個或多個屬性,物聯網終端設備的一個重要能力是感知和控制物體,這種感知和控制都是由不同的硬件設備完成。由于行業和領域的多樣性,物聯網這些硬件可能是多種多樣,那么對硬件的抽象和控制顯得尤為突出。
操作系統中通常采用I/O控制,對外來設備采用即插即用的方式,Windows是這方面做得最好的操作系統,它采用驅動和操作系統分開的方式,硬件提供商提供硬件設備的同時也提供配套的驅動程序,這樣操作系統對硬件的支持就非常開放。
同時,操作系統要提供豐富的API來控制硬件或外設。API可以提供硬件的底層控制,也可以是高層的應用屬性的控制。例如,API可以是對一類接口,如串口控制,也可以是針對攝像設備的控制。通常操作系統的早期階段是以底層接口AP為多,隨著操作系統的發展會向高層API發展。
通過上面的討論,我們可以總結出:物聯網終端操作系統要能夠提供豐富的硬件設備驅動,同時提供豐富的硬件控制API。
軟件遠程控制能力
物聯網終端設備的數量非常龐大,而且通常都是無人監控和操作,那么物聯網終端設備的遠程被控制的能力非常重要,因此,終端操作系統為軟件的遠程控制能力支持,應該是物聯網終端操作系統的一個特性。
遠程控制能力可以從下面兩個方面理解:應用的遠程升級;系統控制能力高度開放。
應用的遠程升級需要操作系統能夠將應用的運行環境和應用分離。Android系統、Windows系統、Linux系統都是這類的操作系統,但是大部分的嵌入式操作系統都不是這類系統。一個比較好的解決方式是Java虛擬機的概念,即操作系統中提供一個虛擬化的運行環境,應用可以后向的開發和升級。只有做到軟硬件分離,應用與運行環境分離,才能將物聯網領域中的技術分離促成物聯網技術鏈的形成。
系統控制能力高度開放指終端操作系統能夠為應用提供足夠豐富的控制接口,這里不僅涉及API開發,還涉及操作系統訪問控制權限的設計。
豐富、精簡的網絡能力
物聯網終端設備能夠具有通過近距離無線通信與其他物聯網終端設備進行信息交換的能力。物聯網的承載網絡可以是多種多樣的,不同網絡下設備之間的通信是比較困難的,那么物聯網終端操作系統要能夠提供一種承載無關的物聯網通信協議,從而滿足不同階段不同網絡承載設備的部署,同時突破目前物聯網通信技術各自為政的局面。
物聯網操作系統應該同時提供豐富的網絡接口能力,支持眾多的網絡協議,目前互聯網領域中的網絡協議都應該能夠在物聯網中有對應的映射和補充。
物聯網終端操作系統網絡協議應該是精簡的,目前物聯網處于早期發展階段,物聯網終端設備的能力相對較弱,那么精簡的網絡協議有利于設備、應用的快速開發和部署,同時滿足物聯網終端設備能力不一致的問題。
物聯網終端操作系統支持網絡協議應該是支持高吞吐量、高效的網絡協議,物聯網基本的神經單元數據都是由物聯網終端設備采集提供的,同時這些采集通常是不間斷、高速產生的,這對于網絡協議提出了新的需求。
計算能力
計算能力包括技術的精度、計算的速度、數據輸入/輸出的速度、計算模型。不同的物聯網終端設備對上述的計算能力會有不同的要求。
計算的速度和數據輸入/輸出的速度是軟件、硬件共同作用的結果。
就計算的精度來說,這個要求是物聯網終端操作系統需要提供的基礎能力,數據的精確度和計算結果的精確度是數據價值的保障。
計算模型操作系統能夠提供豐富的計算模型,方便開發者開發,同時提供計算模型能夠支持第三方的技術模型。
由于文章過長,后半部分可閱讀:如何設計物聯網終端操作系統(下)