域控制器DCU中為什么要使用Hypervisor?
傳統(tǒng)的汽車電子都是以電子控制單元ECU為基本單位,每個(gè)ECU具有專用的控制功能,是1個(gè)獨(dú)立的電子模塊,比如發(fā)動(dòng)機(jī)控制單元ECU、ABS控制單元ECU等等。
隨著處理器計(jì)算性能的提升,汽車電子架構(gòu)也開始演變,逐漸開始使用了域控制器DCU的概念,DCU可以將不同ECU的功能整合到單個(gè)芯片上,成了新的電子控制模塊。
隨著DCU的出現(xiàn),汽車中也開始使用Hypervisor技術(shù),為什么DCU要使用Hypervisor呢?
1.Hypervisor基本概念
在介紹Hypervisor之前,我們要先了解下Supervisor。常見的電子模塊的軟件架構(gòu)主要是硬件、操作系統(tǒng)和應(yīng)用軟件App。
電子模塊軟件架構(gòu)圖
操作系統(tǒng)將內(nèi)存分為兩種不同的空間,內(nèi)核空間和用戶空間,內(nèi)核空間是操作系統(tǒng)內(nèi)核訪問的區(qū)域,獨(dú)立于普通的應(yīng)用程序,是受保護(hù)的內(nèi)存空間,而用戶空間通常是普通應(yīng)用程序可訪問的內(nèi)存區(qū)域。
根據(jù)內(nèi)核和用戶程序的運(yùn)行狀態(tài),操作系統(tǒng)又分為內(nèi)核態(tài)和用戶態(tài),內(nèi)核態(tài)是操作系統(tǒng)內(nèi)核所運(yùn)行的模式,具有最高權(quán)限。內(nèi)核態(tài)程序可以直接訪問所有硬件資源并執(zhí)行特權(quán)指令。
用戶態(tài)是普通應(yīng)用程序所運(yùn)行的模式,權(quán)限較低。用戶態(tài)程序只能訪問有限的資源,不能直接訪問硬件資源或執(zhí)行特權(quán)指令。
用戶程序通過系統(tǒng)調(diào)用來請求操作系統(tǒng)提供的服務(wù),如文件操作、網(wǎng)絡(luò)通信等。用戶態(tài)程序只能訪問用戶空間,而不能訪問內(nèi)核空間。
操作系統(tǒng)運(yùn)行在內(nèi)核態(tài)是一種特權(quán)模式,在該模式下向下可訪問處理器內(nèi)核、外設(shè)、中斷、異常等所有寄存器和內(nèi)存資源;向上可以對應(yīng)用軟件中的進(jìn)程進(jìn)行調(diào)度,這就是Supervisor模式。
與Supervisor相對應(yīng)的是用戶模式,也就是User模式,User模式只能訪問指定的用戶空間,不能訪問內(nèi)核空間,也不能直接訪問硬件,必須通過系統(tǒng)調(diào)用才能與硬件資源進(jìn)行交互。
總之,Supervisor的權(quán)限很大!
Hypervisor是Hyper+Supervisor, 而Hyper是超級(jí)的意思,所以Hypervisor的權(quán)限更大。Hypervisor除了向下對硬件資源有特權(quán)外,它還可以虛擬出硬件環(huán)境,將虛擬的硬件環(huán)境提供給上層的操作系統(tǒng),所以它向上不是直接對應(yīng)用程序進(jìn)行調(diào)度,而是對控制應(yīng)用程序的操作系統(tǒng)OS進(jìn)行調(diào)度。
Hypervisor軟件架構(gòu)圖
Hypervisor是一種運(yùn)行在硬件和操作系統(tǒng)之間的中間軟件層。它的主要功能是管理操作系統(tǒng),將底層的硬件資源(如 CPU、內(nèi)存、存儲(chǔ)和網(wǎng)絡(luò)等)進(jìn)行抽象和分配,使多個(gè)操作系統(tǒng)能夠在同一個(gè)硬件上隔離運(yùn)行。
2. Hypervisor的類型
Hypervisor的具體實(shí)現(xiàn)方式可以分為兩類,即1型 Hypervisor和 2型Hypervisor。
1型Hypervisor直接運(yùn)行在物理硬件上,無需額外的操作系統(tǒng)支持,因此具有更高的性能和效率,也稱為裸機(jī)型,適用于對系統(tǒng)穩(wěn)定性、性能和管理功能要求較高的企業(yè)級(jí)應(yīng)用。
2型Hypervisor運(yùn)行在現(xiàn)有的操作系統(tǒng)之上,依賴于宿主操作系統(tǒng)來管理硬件資源,也稱為托管型,通常用于個(gè)人計(jì)算機(jī)和開發(fā)測試環(huán)境。
1型Hypervisor VS 2型Hypervisor
嵌入式系統(tǒng),尤其是汽車嵌入式系統(tǒng),要求盡可能低的運(yùn)算開銷和盡可能高的實(shí)時(shí)性,所以主要使用1型Hypervisor。
3.Hypervisor的主要功能
Hypervisor主要有兩大功能,1個(gè)是隔離,另一個(gè)是資源共享。
3.1隔離
隔離就是把物理層的硬件資源隔離成多臺(tái)獨(dú)立的邏輯控制系統(tǒng),每個(gè)邏輯控制系統(tǒng)都有自己邏輯上獨(dú)立的處理器、內(nèi)存和各種外設(shè),但實(shí)際上它并不是真實(shí)的物理資源,所以也稱為虛擬機(jī)VM。
嵌入式系統(tǒng)中的Hypervisor常使用分離內(nèi)核的架構(gòu),這種架構(gòu)利用現(xiàn)代處理器的硬件特性(如內(nèi)核態(tài)/用戶態(tài)切換、硬件虛擬化技術(shù))來實(shí)現(xiàn)系統(tǒng)隔離。
Hypervisor會(huì)提供嚴(yán)格的隔離環(huán)境,確保虛擬機(jī)(VM)之間互不干擾,保障安全性和穩(wěn)定性。對上層軟件而言,虛擬機(jī)的使用與原來的物理機(jī)是一樣的。
當(dāng)某個(gè)虛擬機(jī)出現(xiàn)故障崩潰時(shí),Hypervisor會(huì)終止其進(jìn)程并回收資源,不影響其他虛擬機(jī)的正常運(yùn)行。
隔離的具體實(shí)現(xiàn)方式包括:
1)CPU隔離:通過虛擬化指令集為每個(gè)VM分配獨(dú)立的虛擬CPU,同時(shí)利用調(diào)度算法防止資源搶占 。
2)內(nèi)存隔離:采用內(nèi)存分頁和地址空間映射,確保VM僅能訪問自身分配的內(nèi)存區(qū)域,防止越界訪問。
3)I/O設(shè)備隔離:通過設(shè)備直通或虛擬化為VM分配獨(dú)占或虛擬化設(shè)備,避免沖突。
4)安全隔離:通過硬件輔助技術(shù)和Hypervisor層加密實(shí)現(xiàn),防止側(cè)信道攻擊和數(shù)據(jù)泄露。
5)實(shí)時(shí)性隔離:通過時(shí)間片輪轉(zhuǎn)或優(yōu)先級(jí)調(diào)度,確保高實(shí)時(shí)性任務(wù)(如ADAS)不受低優(yōu)先級(jí)任務(wù)干擾。
3.2資源共享
資源共享,也稱為超分技術(shù),比如內(nèi)存超分。
內(nèi)存超分是指分配給虛擬機(jī)的內(nèi)存總和大于實(shí)際可用的物理內(nèi)存總數(shù)。在虛擬化環(huán)境中,內(nèi)存超分允許虛擬機(jī)使用更多的內(nèi)存資源,即使這些資源在物理上并不完全存在。
它的原理是不是所有虛擬機(jī)在任何時(shí)候都會(huì)使用到分配給它們的全部內(nèi)存。Hypervisor通過跟蹤虛擬機(jī)的內(nèi)存使用情況,將物理內(nèi)存動(dòng)態(tài)地分配給那些實(shí)際需要內(nèi)存的虛擬機(jī),使得多個(gè)虛擬機(jī)可以共享物理內(nèi)存資源,從而實(shí)現(xiàn)分配給虛擬機(jī)的內(nèi)存總和超過物理內(nèi)存總量的結(jié)果。
超分技術(shù)使得宏觀上看,多個(gè)虛擬機(jī)的使用內(nèi)存大于物理內(nèi)存,但微觀上看,超分是通過時(shí)間上的快速調(diào)度實(shí)現(xiàn)的,實(shí)際物理內(nèi)存大小是不變的。
資源共享的具體的實(shí)現(xiàn)方式包括:
1)透明頁共享:Hypervisor會(huì)檢測多個(gè)虛擬機(jī)中相同的內(nèi)存頁面,只保留一份映射的物理內(nèi)存頁面,供多個(gè)虛擬機(jī)共享。這樣可以減少內(nèi)存的實(shí)際使用量,為更多虛擬機(jī)分配內(nèi)存提供空間。
2)內(nèi)存壓縮:對虛擬機(jī)中不經(jīng)常訪問的內(nèi)存頁面進(jìn)行壓縮,將壓縮后的頁面存儲(chǔ)在物理內(nèi)存中,以節(jié)省內(nèi)存空間。虛擬機(jī)需要訪問這些頁面時(shí),再進(jìn)行解壓縮。
3)交換技術(shù):將虛擬機(jī)暫時(shí)不用的內(nèi)存數(shù)據(jù)交換到磁盤上的交換空間中,當(dāng)需要時(shí)再從磁盤交換回物理內(nèi)存。通過這種方式,在物理內(nèi)存不足時(shí),利用磁盤空間來擴(kuò)展內(nèi)存容量。
動(dòng)態(tài)內(nèi)存管理使得主機(jī)物理機(jī)的內(nèi)核僅在虛擬機(jī)請求時(shí)分配內(nèi)存。主機(jī)物理機(jī)的內(nèi)存管理器可以在其自己的物理內(nèi)存和交換空間之間移動(dòng)虛擬機(jī)的內(nèi)存。虛擬機(jī)可以根據(jù)需要獲取更多內(nèi)存,適應(yīng)不同的工作負(fù)載需求。
Hypervisor在隔離基礎(chǔ)上實(shí)現(xiàn)硬件資源的動(dòng)態(tài)共享,可提升利用率并降低成本,共享資源主要實(shí)現(xiàn)方式包括:
1)動(dòng)態(tài)資源分配:根據(jù)VM負(fù)載動(dòng)態(tài)調(diào)整虛擬CPU核心數(shù)和內(nèi)存大小。
2)存儲(chǔ)共享:通過虛擬磁盤或共享存儲(chǔ)允許多虛擬機(jī)訪問同一物理存儲(chǔ),支持快照和克隆。
3)網(wǎng)絡(luò)虛擬化:虛擬交換機(jī)可以將物理網(wǎng)卡抽象為多個(gè)虛擬網(wǎng)卡,供VM共享帶寬。
4)GPU共享:通過虛擬化顯存或API轉(zhuǎn)發(fā),支持多VM并行圖形處理。
4.域控制器與Hypervisor
域控制器的主要特點(diǎn)就是將原來幾個(gè)獨(dú)立的ECU,融合成一個(gè)DCU,硬件上使用1個(gè)主芯片來處理不同的模塊功能,這樣可以避免為每個(gè)功能部署獨(dú)立ECU,降低硬件成本和功耗。
但是在融合的過程中,可能會(huì)出現(xiàn)把性能特點(diǎn)完全不同的兩種ECU合并在一起,比如實(shí)時(shí)性高和實(shí)時(shí)性低的兩個(gè)系統(tǒng)、安全性高和安全性低的兩個(gè)系統(tǒng)。
這時(shí)就會(huì)出現(xiàn)系統(tǒng)性能需求不兼容,甚至互相排斥的問題,這種情況就需要使用Hypervisor。
在汽車域控中,對實(shí)時(shí)性要求較高,所以常采用1型Hypervisor。因?yàn)樗梢灾苯庸芾砗头峙溆布Y源,為虛擬機(jī)提供更高效的運(yùn)行環(huán)境,同時(shí)也便于進(jìn)行安全機(jī)制的設(shè)計(jì)和實(shí)現(xiàn),確保系統(tǒng)的穩(wěn)定運(yùn)行。
很多功能模塊對實(shí)時(shí)性和安全性要求較高,常采用實(shí)時(shí)性的隔離方式和時(shí)間調(diào)度的資源共享方式。通過硬件輔助虛擬化與軟件調(diào)度策略,在隔離與共享之間實(shí)現(xiàn)平衡。
4.1智能座艙域
在智能座艙域中,全液晶儀表、AR-HUD、HVAC、環(huán)視、倒車影像、DMS和CMS等對實(shí)時(shí)性、安全性和可靠性要求極高的領(lǐng)域,通過最高等級(jí)ASIL D功能安全標(biāo)準(zhǔn)的QNX操作系統(tǒng)是首選。
而在對實(shí)時(shí)性要求更低,但對生態(tài)應(yīng)用要求較高的中控及后排信息娛樂系統(tǒng)領(lǐng)域,Android系統(tǒng)是首選。
智能座艙域需要融合這兩種特性完全不同的操作系統(tǒng),所以必須使用Hypervisor。
這兩類系統(tǒng)也可以劃分為安全相關(guān)的系統(tǒng)(如儀表)和非安全相關(guān)的系統(tǒng)(中控)兩類,主要目標(biāo)就是要保障安全相關(guān)的高優(yōu)先級(jí)任務(wù)不被非安全相關(guān)的低優(yōu)先級(jí)進(jìn)程搶占。
通過Hypervisor虛擬化層實(shí)現(xiàn)邏輯隔離,結(jié)合硬件級(jí)的物理資源切割,智能座艙就可以在單芯片上構(gòu)建既共享又獨(dú)立的混合運(yùn)行環(huán)境。
座艙域Hypervisor架構(gòu)圖
智能座艙中的分層架構(gòu)主要包括硬件層、Hypervisor層和虛擬機(jī)層。硬件層包括SoC芯片、內(nèi)存、外設(shè)控制器等物理資源;Hypervisor層負(fù)責(zé)資源分配、虛擬機(jī)調(diào)度及硬件訪問控制;虛擬機(jī)層包括行儀表系統(tǒng)如QNX、娛樂系統(tǒng)如Android、HUD、DMS等獨(dú)立功能域。
目前常用的是QNX Hypervisor,整體架構(gòu)是主芯片上先運(yùn)行QNX的Hypervisor,再上面一層并行運(yùn)行QNX和Android。
座艙QNX Hypervisor 架構(gòu)
QNX Hypervisor具有高可靠性、實(shí)時(shí)性與安全性,能夠滿足系統(tǒng)響應(yīng)速度和穩(wěn)定性的嚴(yán)格要求。它采用微內(nèi)核架構(gòu),通過將不同級(jí)別的組件放置在不同的 guest 操作系統(tǒng)中,實(shí)現(xiàn)了分離和隔離,支持多種芯片架構(gòu),能很好地適配域控制器中常用的硬件平臺(tái)。并且QNX的Hypervisor本身也通過了ISO26262 ASIL D功能安全認(rèn)證。
從隔離角度看,儀表和DMS等功能對實(shí)時(shí)性和安全性的要求很高,而中控的音視頻娛樂系統(tǒng)對實(shí)時(shí)性要求較低。
Hypervisor 通過硬件虛擬化技術(shù),能夠在同一硬件平臺(tái)上創(chuàng)建多個(gè)相互隔離的虛擬環(huán)境,將高安全等級(jí)的儀表、DMS等功能與低安全等級(jí)的信息娛樂功能分隔開來??梢员WC儀表和DMS功能的實(shí)時(shí)性和穩(wěn)定性。
在資源共享方面,隨著汽車智能化程度不斷提升,智能座艙中集成的功能越來越多。Hypervisor 能夠高效調(diào)配 CPU、內(nèi)存、存儲(chǔ)等硬件資源,根據(jù)不同任務(wù)的優(yōu)先級(jí)和需求動(dòng)態(tài)分配,提高資源利用率。
比如在車輛正常行駛時(shí),可將更多計(jì)算資源分配給導(dǎo)航和信息娛樂功能;當(dāng)檢測到車輛故障或駕駛員疲勞時(shí),迅速將資源集中于儀表報(bào)警和DMS提醒等功能,實(shí)現(xiàn)資源的靈活調(diào)度與最優(yōu)配置。
5.小結(jié)
Hypervisor是一種運(yùn)行在硬件和操作系統(tǒng)之間的中間軟件層。它的主要功能是管理操作系統(tǒng),將底層的硬件資源(如 CPU、內(nèi)存、存儲(chǔ)和網(wǎng)絡(luò)等)進(jìn)行抽象和分配,使多個(gè)操作系統(tǒng)能夠在同一個(gè)硬件上隔離運(yùn)行。
有些域控制器需要運(yùn)行多個(gè)操作系統(tǒng),通過Hypervisor,就可以在域控制器中實(shí)現(xiàn)不同操作系統(tǒng)和不同功能模塊的融合與共存,比如座艙域中的QNX+Android。
廣告 編輯推薦
最新資訊
-
“汽車爬坡試驗(yàn)方法”將有國家標(biāo)準(zhǔn)
2026-03-03 12:44
-
十年耐久監(jiān)管時(shí)代:電池系統(tǒng)開發(fā)策略將如何
2026-03-03 12:44
-
聯(lián)合國法規(guī)R59對機(jī)動(dòng)車備用消聲系統(tǒng)的工程
2026-03-03 12:08
-
聯(lián)合國法規(guī)R58對后下部防護(hù)裝置的工程化約
2026-03-03 12:07
-
聯(lián)合國法規(guī)R57對摩托車前照燈配光性能的工
2026-03-03 12:07





廣告


























































