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