前言
通過閱讀「嵌入式Hypervisor:架構、原理與應用」我對Hypervisor這個概念有了較為全面的理解。
本書探討了嵌入式Hypervisor(虛擬機監控程序)作為嵌入式系統軟件的前沿技術,重點關注其在復雜應用場景中的重要性。隨著對高性能和低功耗嵌入式系統需求的增加,嵌入式Hypervisor成為優化有限資源、實現異構操作系統安全隔離的關鍵解決方案。
盡管在多個領域已有廣泛應用,專門分析嵌入式Hypervisor的書籍仍較為匱乏。本書采用分離內核架構,結合PRTOS Hypervisor,深入剖析其設計與實現技術,并討論對實時操作系統及Linux的虛擬化支持,旨在幫助讀者理解異構操作系統開放平臺的生態優勢。
嵌入式Hypervisor是一種用于虛擬化的技術,尤其在嵌入式系統中應用廣泛。它允許多個操作系統或應用程序在同一硬件平臺上并行運行,從而提高資源利用率和系統的靈活性。
什么是Hypervisor
Hypervisor(虛擬機監控程序)是一個用于創建和管理虛擬機的軟件層。它允許在同一物理硬件上同時運行多個操作系統實例。這種技術廣泛應用于服務器虛擬化、云計算和資源隔離等場景。
傳統操作系統內核的功能是在底層硬件上提供抽象層,在多個用戶空間的應用程序之間分配和調度資源(包括CPU、內存、I/O外圍設備)?,職責是在操作系統上托管用戶空間的應用程序。Hypervisor同樣具備托管職責,但托管的是多個客戶操作系統。操作系統內核一般被稱為主管(Supervisor),而虛擬機監控程序用來托管主管,因此被稱為超級主管,即Hypervisor。Hypervisor有時候也被稱為虛擬機管理器(Virtual Machine Manager,VMM)或者虛擬機監控器(Virtual Machine Monitor,VMM)。
Hypervisor使得單個物理硬件平臺可支持一個或者多個虛擬機,虛擬機間彼此互不干擾。即使一個虛擬機中的應用程序發生崩潰或安全性損害,其他虛擬機中的應用程序仍可正常運行。因此Hypervisor既可以提高硬件利用率和系統管理的靈活性,也可以使虛擬機之間強制隔離,從而保證整個軟件系統的安全性。故實現Hypervisor的關鍵技術(虛擬化技術)非常重要。
嵌入式Hypervisor
嵌入式 Hypervisor 是一種虛擬化技術,專門設計用于嵌入式系統中。它允許在同一硬件平臺上同時運行多個操作系統或應用程序,提供資源隔離和管理,從而提高系統的靈活性和安全性。
主要特點
(1)高效性。Hypervisor一般都力求提高效率,但嵌入式Hypervisor受到內存、外圍設備、功耗等方面的限制,必須能夠非常精簡且高效地使用硬件資源。
(2)代碼量小。應用程序的代碼量越少,就越容易查找錯誤。一些嵌入式Hypervisor的供應商就是通過數學方法驗證Hypervisor有沒有錯誤。Hypervisor是系統中唯一以特權模式運行的軟件,Hypervisor包含的錯誤越少,平臺就越安全可靠。
(3)多核系統支持。目前,新的嵌入式處理器普遍利用多核架構來提高性能,嵌入式Hypervisor可以管理底層架構,為遺留應用程序提供單處理器環境,同時有效支持多核處理器進行系統設計。
(4)實時性。具有實時性要求的虛擬機內部應用程序必須以可預測的方式執行。虛擬機應用的實時性受到底層軟件(即Hypervisor和客戶操作系統)和硬件的影響。從Hypervisor的角度來說,可預測性涉及Hypervisor所提供的服務以及虛擬機中的客戶操作系統。嵌入式Hypervisor提供給虛擬機的服務必須具有可預測性,以滿足虛擬機的確定性要求。比如對無人機系統來說,Hypervisor可以保證飛控系統和第三方應用程序(圖傳系統)共享硬件平臺并相互隔離,并保障運行飛控系統的虛擬機滿足實時性要求。
應用領域
(1)在航空領域,ARINC653標準已經是IMA(Integrated Modular Avionics,綜合模塊化航空電子設備)架構的標準應用接口,符合ARINC653標準的Ⅰ型Hypervisor是航空電子系統領域的基礎軟件。
(2)在車載領域,汽車通過在若干個互相隔離的虛擬機上分別運行車載娛樂操作系統、AUTOSAR(汽車開放系統架構)操作系統和RTOS,使得軟件系統可以在異常檢測、故障隔離方面開展更多工作,并確保一旦出現問題,故障也能夠在早期被識別和處理,避免故障向其他領域蔓延。
(3)在工業領域,目前,工業領域中的設備和傳感器越來越多地與互聯網連接,Hypervisor可以用于管理和隔離這些設備之間的不同應用程序,以確保安全性和可靠性。4)在醫療領域,安全性和隔離性至關重要。Hypervisor可以簡化功能組件的更新過程,通過在虛擬機級別進行更新,減少對整個設備的干擾;Hypervisor支持冗余配置和備份虛擬機,確保即使在硬件或軟件發生故障的情況下,設備仍然可用。
主流的嵌入式Hypervisor產品
國外RTOS廠商的Hypervisor產品
嵌入式Hypervisor在國外起步較早,在任務關鍵型和安全關鍵型嵌入式場景中已經得到了廣泛的應用。其中Wind River公司的VxWorks 653、Lynx公司的LynxOS-178B和LynxSecure、Thales公司的PikeOS、DDC-I公司的DeOS以及Green Hills軟件公司的INTEGRITY Multivisor等都是這方面的典型代表。VxWorks 653是應用在航空領域的、遵循ARINC653設計規范的Hypervisor。分區是ARINC653中的一個核心概念。采用ARINC653標準的操作系統架構分為兩級,底層是CoreOS(即Hypervisor)?,負責分區間的管理和調度;CoreOS的上層是POS(Partition OS,分區OS)?,即分區操作系統,也就是客戶操作系統。POS的上層才負責應用程序的執行。
VxWorks 653是典型的ARINC653軟件架構,如圖所示。
Lynx公司的LynxOS-178B也是面向航空領域的、遵循ARINC653設計規范的Hypervisor,其架構如圖所示。
PikeOS架構如圖所示。PikeOS主要應用于航空電子、航天、鐵路、汽車、醫療和工業自動化領域。
總結
嵌入式 Hypervisor 通過在同一硬件上提供多個獨立的虛擬環境,為嵌入式系統帶來了靈活性和安全性,是現代嵌入式設計的重要組成部分。
審核編輯 黃宇
-
嵌入式
+關注
關注
5072文章
19026瀏覽量
303517 -
操作系統
+關注
關注
37文章
6747瀏覽量
123203 -
架構
+關注
關注
1文章
510瀏覽量
25451 -
虛擬機
+關注
關注
1文章
908瀏覽量
28109
發布評論請先 登錄
相關推薦
評論