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