一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式實(shí)時(shí)虛擬機(jī)ZVM介紹

openEuler ? 來(lái)源:openEuler ? 2023-03-25 09:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 背景介紹

嵌入式實(shí)時(shí)虛擬化技術(shù)是一種允許在單個(gè)硬件平臺(tái)上同時(shí)運(yùn)行多個(gè)操作系統(tǒng)、并保持確定性和時(shí)間關(guān)鍵性能的技術(shù),該技術(shù)可為嵌入式系統(tǒng)開(kāi)發(fā)帶來(lái)許多好處,例如硬件整合、系統(tǒng)隔離、系統(tǒng)靈活可靠性、安全性和可擴(kuò)展性等。嵌入式實(shí)時(shí)虛擬化可支持智能汽車(chē)、數(shù)控機(jī)床及5G設(shè)備等高級(jí)應(yīng)用。

開(kāi)發(fā)嵌入式實(shí)時(shí)虛擬化軟件面臨著一些挑戰(zhàn)。第一個(gè)挑戰(zhàn)是如何確保不同Guest OS間的隔離和安全性,尤其是當(dāng)它們具有不同級(jí)別的關(guān)鍵性和可信度時(shí)。第二個(gè)挑戰(zhàn)是如何在不同Guest OS間有效地共享或分配 I/O 設(shè)備,這可能需要設(shè)備模擬或直通機(jī)制。第三個(gè)挑戰(zhàn)是如何確保作為Guest OS運(yùn)行的RTOS具備低延遲和高吞吐量。

嵌入式實(shí)時(shí)虛擬化軟件需要通過(guò)提供強(qiáng)制的隔離和安全、高效的中斷處理、靈活的 I/O 設(shè)備管理機(jī)制及硬件支持來(lái)應(yīng)對(duì)這些挑戰(zhàn)?;诩軜?gòu)硬件虛擬化支持與虛擬化主機(jī)拓展支持,湖大嵌入式實(shí)驗(yàn)室開(kāi)發(fā)了基于Zephyr RTOS的虛擬化軟件ZVM,實(shí)現(xiàn)了Guest OS間的隔離、設(shè)備分配及中斷處理,保證了系統(tǒng)的安全與實(shí)時(shí)。

2. 技術(shù)路線(xiàn)

ZVM總體功能需要關(guān)注三個(gè)部分:安全隔離、設(shè)備管理和系統(tǒng)性能提升。

(1)安全隔離:利用虛擬化技術(shù)實(shí)現(xiàn)不同特權(quán)級(jí)的應(yīng)用支持,確保不同Guest OS間的隔離和安全,尤其是當(dāng)它們具有不同級(jí)別的關(guān)鍵級(jí)時(shí)。為每個(gè)Guest OS分配不同的虛擬地址空間和虛擬設(shè)備,實(shí)現(xiàn)虛擬機(jī)間的隔離以保證系統(tǒng)安全。

(2)設(shè)備管理:使用支持設(shè)備模擬和直通機(jī)制的管理程序,在不同Guest OS之間有效共享或分配I/O設(shè)備。對(duì)于中斷控制器需獨(dú)占的設(shè)備,用完全虛擬化的方式進(jìn)行分配,對(duì)于UART等非獨(dú)占的設(shè)備,使用設(shè)備直通的方式進(jìn)行分配。

(3)系統(tǒng)性能提升:處理器方面,使用支持ARM64硬件輔助虛擬化拓展技術(shù)來(lái)減少上下文開(kāi)銷(xiāo);在內(nèi)存管理方面,使用基于硬件的兩階段地址轉(zhuǎn)換地址轉(zhuǎn)換性能開(kāi)銷(xiāo);在中斷方面,使用基于硬件的中斷注入機(jī)制來(lái)減少上下文開(kāi)銷(xiāo)和中斷時(shí)延。

3. 系統(tǒng)架構(gòu)

ZVM整體系統(tǒng)架構(gòu)如下圖所示,通過(guò)在Zephyr RTOS中加入虛擬化模塊,實(shí)現(xiàn)CPU虛擬化、內(nèi)存虛擬化、中斷虛擬化、定時(shí)器虛擬化和I/O虛擬化。ZVM支持兩種類(lèi)型的Guest OS,即通用的Linux操作系統(tǒng)和Zephyr RTOS。

b5740af0-ca94-11ed-bfe3-dac502259ad0.jpg

(1)CPU虛擬化。CPU虛擬化模塊的主要功能是為每個(gè)Guest OS的vCPU虛擬出一個(gè)單獨(dú)的隔離上下文。每個(gè)vCPU均作為一個(gè)線(xiàn)程存在,由ZVM統(tǒng)一調(diào)度。為了提高vCPU的性能,ARM64架構(gòu)為ZVM提供了VHE支持,VHE可以使Host OS遷移到EL2特權(quán)模式,而無(wú)需改變操作系統(tǒng)原有代碼。VHE主要實(shí)現(xiàn)了ARM寄存器重定向,可以在不修改Zephyr RTOS內(nèi)核代碼的情況下,將其遷移EL2層開(kāi)發(fā)ZVM,既降低了系統(tǒng)冗余,又提高了系統(tǒng)性能。

(2)內(nèi)存虛擬化。內(nèi)存虛擬化模塊的主要作用是實(shí)現(xiàn)Guest OS間內(nèi)存地址的隔離。系統(tǒng)需要隔離不同Guest OS的內(nèi)存空間,監(jiān)控Guest OS對(duì)實(shí)際物理內(nèi)存的訪(fǎng)問(wèn),以保護(hù)物理內(nèi)存。為了實(shí)現(xiàn)該功能,ARM64提供了兩階段的地址查找策略。第一階段是從Guest OS的虛擬地址到Guest OS的物理地址轉(zhuǎn)換,第二階段是從Guest OS的物理地址到Host OS的物理地址轉(zhuǎn)化。ARM專(zhuān)門(mén)為第二階段轉(zhuǎn)換提供單獨(dú)的硬件,以提高地址翻譯性能。

(3)中斷虛擬化模塊。中斷虛擬化使用ARM的通用中斷控制器(GIC)設(shè)備,并基于該設(shè)備實(shí)現(xiàn)虛擬中斷配置。Guest OS的中斷統(tǒng)一路由到ZVM,然后ZVM會(huì)將它們分配給不同的vCPU。虛擬中斷的注入通過(guò)GIC中的Virtual CPU接口或List Register具體實(shí)現(xiàn)。

(4)定時(shí)器虛擬化。定時(shí)器虛擬化為每個(gè)CPU定義了一組虛擬定時(shí)器寄存器,它們?cè)陬A(yù)定時(shí)間后單獨(dú)計(jì)數(shù)并拋出中斷,由Host OS轉(zhuǎn)發(fā)給Guest OS。同時(shí),在Guest OS切換過(guò)程中,虛擬定時(shí)器會(huì)計(jì)算Guest OS的實(shí)際運(yùn)行時(shí)間,并對(duì)Guest OS退出的時(shí)間進(jìn)行補(bǔ)償,為Guest OS提供定時(shí)器服務(wù)。

(5)設(shè)備虛擬化。在設(shè)備虛擬化方面,ZVM采用ARM中的Memory-Mapped I/O (MMIO)方法將設(shè)備地址映射到虛擬內(nèi)存地址,構(gòu)建虛擬設(shè)備空間,實(shí)現(xiàn)Guest OS對(duì)設(shè)備地址的訪(fǎng)問(wèn)。在具體實(shí)現(xiàn)上,ZVM統(tǒng)一構(gòu)建一個(gè)虛擬的MMIO設(shè)備,在Guest OS創(chuàng)建過(guò)程中將該設(shè)備分配給指定的Guest OS,實(shí)現(xiàn)I/O虛擬化。此外,對(duì)一些非獨(dú)占設(shè)備,ZVM使用設(shè)備直通的方式實(shí)現(xiàn)設(shè)備的訪(fǎng)問(wèn)。

4. 未來(lái)規(guī)劃

ZVM由Sig-Zephyr進(jìn)行維護(hù),并計(jì)劃在2023年5月推出第一個(gè)支持Zephyr最新LTS的基礎(chǔ)版本,7月實(shí)現(xiàn)openEuler Embedded和ZVM整合,并將完善各項(xiàng)其它高級(jí)功能,如IO設(shè)備框架支持、虛擬機(jī)動(dòng)態(tài)資源管理及實(shí)時(shí)性支持等。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317605
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124513
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118953
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    966

    瀏覽量

    29369

原文標(biāo)題:openEuler開(kāi)源新項(xiàng)目,嵌入式實(shí)時(shí)虛擬機(jī)ZVM介紹

文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式的 你們Linux系統(tǒng)是裝在虛擬機(jī)還是PC上呢?

    嵌入式的 你們Linux系統(tǒng)是裝在虛擬機(jī)還是PC上呢?
    發(fā)表于 03-16 23:17

    gnuboy虛擬機(jī)怎么應(yīng)用到嵌入式環(huán)境中?

    嵌入式平臺(tái)上對(duì)gnuboy運(yùn)用進(jìn)行的嘗試性工作,同時(shí), Gnuboy作為一種虛擬機(jī)技術(shù),本文的工作對(duì)研究虛擬機(jī)技術(shù)在ARM L inux中的應(yīng)用也具有一定的價(jià)值。
    發(fā)表于 03-05 06:51

    介紹VirtualBox虛擬機(jī)的構(gòu)建方法

    本系列文章將向大家介紹嵌入式系統(tǒng)開(kāi)發(fā)的各方面知識(shí)。本文將向大家介紹VirtualBox虛擬機(jī)的構(gòu)建方法。一、什么是虛擬機(jī)二、主流
    發(fā)表于 11-08 06:21

    如何創(chuàng)建虛擬機(jī)?

    實(shí)戰(zhàn)開(kāi)發(fā)--開(kāi)發(fā)環(huán)境安裝(五)1、下載軟件vmware和ubuntu-20.04.1-desktop-amd64.iso2、創(chuàng)建虛擬機(jī)完整步驟3、安裝嵌入式linux所需的工具包4、安裝vmware tool,實(shí)現(xiàn)虛擬機(jī)與物理主
    發(fā)表于 12-16 07:45

    虛擬機(jī)通過(guò)USB網(wǎng)卡與嵌入式Linux開(kāi)發(fā)板直連需求

    應(yīng)用場(chǎng)景:虛擬機(jī)通過(guò)USB網(wǎng)卡與嵌入式Linux開(kāi)發(fā)板直連需求:保證虛擬機(jī)正常上網(wǎng)的同時(shí),使用USB網(wǎng)卡與開(kāi)發(fā)板組建局域網(wǎng)通信虛擬機(jī)網(wǎng)絡(luò)設(shè)置:橋接模式,使用獨(dú)立IP(方便以
    發(fā)表于 12-16 07:02

    介紹SSH軟件的安裝和ssh軟件在主機(jī)和虛擬機(jī)之間傳文件

    學(xué)習(xí)!?。。∥恼?b class='flag-5'>嵌入式系統(tǒng)設(shè)計(jì)(一):虛擬機(jī)、Ubuntu的安裝以及SSH 軟件的安裝使用:里面詳細(xì)介紹了SSH軟件的安裝和ssh 軟件在主機(jī)和虛擬機(jī)之間傳文件。文章
    發(fā)表于 12-22 08:01

    基于嵌入式平臺(tái)的并發(fā)虛擬機(jī)研究

    并發(fā)程序?qū)μ岣邞?yīng)用系統(tǒng)的處理能力具有重要作用,基于嵌入式平臺(tái)的并發(fā)程序開(kāi)發(fā)尚無(wú)統(tǒng)一的工具支持。本文提出了一種基于嵌入式平臺(tái)的并發(fā)虛擬機(jī)(CVM)設(shè)計(jì)思想,并采用
    發(fā)表于 09-09 16:08 ?14次下載

    虛擬機(jī)嵌入式開(kāi)發(fā)

    虛擬機(jī)嵌入式開(kāi)發(fā) 華清遠(yuǎn)見(jiàn)視頻教程使用說(shuō)明================================= 環(huán)境要求:1、推薦最佳分辨率為1024*
    發(fā)表于 02-11 10:44 ?20次下載

    基于gnuboy虛擬機(jī)嵌入式實(shí)驗(yàn)平臺(tái)的移植與優(yōu)化

    本文就是在構(gòu)建的基于ARM920T Linux的嵌入式平臺(tái)上對(duì)gnuboy運(yùn)用進(jìn)行的嘗試性工作,同時(shí), Gnuboy作為一種虛擬機(jī)技術(shù),本文的工作對(duì)研究虛擬機(jī)技術(shù)在ARM L inux中的應(yīng)用
    發(fā)表于 02-12 11:17 ?1209次閱讀
    基于gnuboy<b class='flag-5'>虛擬機(jī)</b>的<b class='flag-5'>嵌入式</b>實(shí)驗(yàn)平臺(tái)的移植與優(yōu)化

    字符型嵌入式軟PLC虛擬機(jī)設(shè)計(jì)

    摘要! 介紹一種可直接解析字符型語(yǔ)句表指令的字符型嵌入式軟PLC虛擬機(jī)虛擬機(jī)主要運(yùn)行于嵌入式操作系統(tǒng)上可直接對(duì)字符型語(yǔ)句表指令進(jìn)行解析和處
    發(fā)表于 04-08 16:54 ?25次下載
    字符型<b class='flag-5'>嵌入式</b>軟PLC<b class='flag-5'>虛擬機(jī)</b>設(shè)計(jì)

    嵌入式系統(tǒng)開(kāi)發(fā)筆記1:構(gòu)建VirualBox虛擬機(jī)開(kāi)發(fā)環(huán)境

    本系列文章將向大家介紹嵌入式系統(tǒng)開(kāi)發(fā)的各方面知識(shí)。本文將向大家介紹VirtualBox虛擬機(jī)的構(gòu)建方法。一、什么是虛擬機(jī)二、主流
    發(fā)表于 11-03 13:06 ?13次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)開(kāi)發(fā)筆記1:構(gòu)建VirualBox<b class='flag-5'>虛擬機(jī)</b>開(kāi)發(fā)環(huán)境

    嵌入式系統(tǒng)設(shè)計(jì)(九):虛擬機(jī)安裝常見(jiàn)錯(cuò)誤匯總,保你順利安裝

    學(xué)習(xí)?。。?!文章嵌入式系統(tǒng)設(shè)計(jì)(一):虛擬機(jī)、Ubuntu的安裝以及SSH 軟件的安裝使用:里面詳細(xì)介紹了SSH軟件的安裝和ssh 軟件在主機(jī)和虛擬機(jī)之間傳文件。文章
    發(fā)表于 11-04 09:36 ?11次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)設(shè)計(jì)(九):<b class='flag-5'>虛擬機(jī)</b>安裝常見(jiàn)錯(cuò)誤匯總,保你順利安裝

    嵌入式系統(tǒng)設(shè)計(jì)(二): 虛擬機(jī)和主機(jī)之間共享文件夾

    學(xué)習(xí)?。。?!文章嵌入式系統(tǒng)設(shè)計(jì)(一):虛擬機(jī)、Ubuntu的安裝以及SSH 軟件的安裝使用里面詳細(xì)介紹了SSH軟件的安裝和ssh 軟件在主機(jī)和虛擬機(jī)之間傳文件。但由于網(wǎng)絡(luò)原因,部分用戶(hù)
    發(fā)表于 11-04 10:21 ?11次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)設(shè)計(jì)(二): <b class='flag-5'>虛擬機(jī)</b>和主機(jī)之間共享文件夾

    嵌入式虛擬化保護(hù)傳統(tǒng)投資

      總之,被稱(chēng)為嵌入式虛擬機(jī)管理程序的虛擬化技術(shù)基于實(shí)時(shí)分離內(nèi)核,可以幫助嵌入式開(kāi)發(fā)人員將他們的傳統(tǒng)嵌入
    的頭像 發(fā)表于 06-28 15:05 ?1044次閱讀

    openEuler開(kāi)源新項(xiàng)目,嵌入式實(shí)時(shí)虛擬機(jī)ZVM介紹

    嵌入式實(shí)時(shí)虛擬機(jī)ZVM(Zephyr-based Virtual Machine)是由湖南大學(xué)嵌入式與網(wǎng)絡(luò)計(jì)算湖南省重點(diǎn)實(shí)驗(yàn)室(以下簡(jiǎn)稱(chēng)“湖
    的頭像 發(fā)表于 04-11 14:52 ?2084次閱讀