官术网_书友最值得收藏!

1.5 嵌入式虛擬化技術的挑戰

嵌入式技術是一項成熟的技術,無論是智能家電還是工業智能設備,嵌入式設備的工作壽命往往長達十余年甚至幾十年,而使用虛擬化技術主要考慮兼顧不同時期運行在不同操作系統上的負載,因此嵌入式虛擬化技術的主流是虛擬機技術。嵌入式虛擬機發展的主要挑戰可以總結為四個方面,即兼容性、實時性、隔離安全,以及小尺寸和低功耗。

●兼容性:虛擬機往往需要整合數個不同操作系統上的負載,其開發周期可能間隔數年甚至數十年。機器控制的應用往往基于Linux操作系統,其應用軟件在2000年左右就已穩定使用,工業客戶的升級意愿不高;而人機交互(Human Machine Interaction,HMI)應用往往基于Windows操作系統,其應用軟件對圖形、機器視覺算法和深度學習算法依賴度較高,往往跟隨GPU的升級步伐每2~3年就有一次重大更新。在整合不同應用時,兼容性是必須要考慮的問題。

●實時性:在解決兼容性問題以后,實時性會成為另一個重要的難點。基于Linux的機器控制應用往往是通過在Linux的系統上打實時補丁,或者選用實時操作系統(Real Time Operation System,RTOS)來實現實時性。嵌入式虛擬機在系統設計架構中引入了一層虛擬機監控器(Hypervisor),那么如何能使RTOS保持其原來的軟實時或者硬實時性能要求,則是對Hypervisor的設計挑戰。

●隔離安全:在嵌入式設備中,不同應用的安全等級也會不一樣,需要構建混合關鍵系統[5]。一個嵌入式虛擬機需要能夠充分隔離不同虛擬機之間的負載,在緊急情況下,如果有某一虛擬機因為故障退出,其余虛擬機上的負載不會受到影響。特別是在有功能安全需求的場景下(比如機床、機器手臂、激光焊接機等),隔離安全將直接影響人身安全。

●小尺寸和低功耗:由于不少嵌入式設備受硬件限制,要求嵌入式虛擬機代碼少、啟動快、占用內存小。另外,如果設備是電池供電(如移動機器人、自主導航的小車等),出于節能的考慮,嵌入式虛擬機需要考慮支持低功耗設計。低功耗設計主要包括:單個虛擬機的快速喚醒和快速休眠(以及相應的數據存儲、調用和傳輸)、多個虛擬機的負載均衡(高負載時,虛擬機可動態調用多個CPU核)和負載整合(低負載時,虛擬機可動態關閉某一個或者多個CPU核),也要進行通盤設計。

另外,嵌入式市場以Arm硬件平臺為主,嵌入式虛擬機市場上大多都是閉源的商用軟件,例如QNX、VxWorks、Helix、Green Hill和Mentor Hypervisor等。目前ACRN是唯一支持Intel x86平臺的開源嵌入式虛擬機的技術。它還需要滿足如下需求:

●在x86平臺上支持實時操作系統;

●小尺寸,額外開銷要小;

●通過工業IEC 61508功能安全認證;

●完全開源,友好的許可證。

本書將以ACRN為例介紹如何實現嵌入式虛擬機。

主站蜘蛛池模板: 宣武区| 临城县| 通山县| 云南省| 林周县| 营口市| 东至县| 泸西县| 瓦房店市| 闽侯县| 汉寿县| 民县| 临泽县| 孟津县| 苍溪县| 信丰县| 郑州市| 达拉特旗| 叶城县| 镇原县| 黔东| 麻江县| 会同县| 铁岭市| 成安县| 托克逊县| 信阳市| 浦城县| 平泉县| 香格里拉县| 旬阳县| 台州市| 屏东市| 祁阳县| 沧源| 晋城| 湖南省| 伊吾县| 肥东县| 陕西省| 沁源县|