衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式實時虛擬機ZVM介紹

openEuler ? 來源:openEuler ? 2023-03-25 09:45 ? 次閱讀

1. 背景介紹

嵌入式實時虛擬化技術是一種允許在單個硬件平臺上同時運行多個操作系統、并保持確定性和時間關鍵性能的技術,該技術可為嵌入式系統開發帶來許多好處,例如硬件整合、系統隔離、系統靈活可靠性、安全性和可擴展性等。嵌入式實時虛擬化可支持智能汽車、數控機床及5G設備等高級應用。

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

嵌入式實時虛擬化軟件需要通過提供強制的隔離和安全、高效的中斷處理、靈活的 I/O 設備管理機制及硬件支持來應對這些挑戰。基于架構硬件虛擬化支持與虛擬化主機拓展支持,湖大嵌入式實驗室開發了基于Zephyr RTOS的虛擬化軟件ZVM,實現了Guest OS間的隔離、設備分配及中斷處理,保證了系統的安全與實時。

2. 技術路線

ZVM總體功能需要關注三個部分:安全隔離、設備管理和系統性能提升。

(1)安全隔離:利用虛擬化技術實現不同特權級的應用支持,確保不同Guest OS間的隔離和安全,尤其是當它們具有不同級別的關鍵級時。為每個Guest OS分配不同的虛擬地址空間和虛擬設備,實現虛擬機間的隔離以保證系統安全。

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

(3)系統性能提升:處理器方面,使用支持ARM64硬件輔助虛擬化拓展技術來減少上下文開銷;在內存管理方面,使用基于硬件的兩階段地址轉換地址轉換性能開銷;在中斷方面,使用基于硬件的中斷注入機制來減少上下文開銷和中斷時延。

3. 系統架構

ZVM整體系統架構如下圖所示,通過在Zephyr RTOS中加入虛擬化模塊,實現CPU虛擬化、內存虛擬化、中斷虛擬化、定時器虛擬化和I/O虛擬化。ZVM支持兩種類型的Guest OS,即通用的Linux操作系統和Zephyr RTOS。

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

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

(2)內存虛擬化。內存虛擬化模塊的主要作用是實現Guest OS間內存地址的隔離。系統需要隔離不同Guest OS的內存空間,監控Guest OS對實際物理內存的訪問,以保護物理內存。為了實現該功能,ARM64提供了兩階段的地址查找策略。第一階段是從Guest OS的虛擬地址到Guest OS的物理地址轉換,第二階段是從Guest OS的物理地址到Host OS的物理地址轉化。ARM專門為第二階段轉換提供單獨的硬件,以提高地址翻譯性能。

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

(4)定時器虛擬化。定時器虛擬化為每個CPU定義了一組虛擬定時器寄存器,它們在預定時間后單獨計數并拋出中斷,由Host OS轉發給Guest OS。同時,在Guest OS切換過程中,虛擬定時器會計算Guest OS的實際運行時間,并對Guest OS退出的時間進行補償,為Guest OS提供定時器服務。

(5)設備虛擬化。在設備虛擬化方面,ZVM采用ARM中的Memory-Mapped I/O (MMIO)方法將設備地址映射到虛擬內存地址,構建虛擬設備空間,實現Guest OS對設備地址的訪問。在具體實現上,ZVM統一構建一個虛擬的MMIO設備,在Guest OS創建過程中將該設備分配給指定的Guest OS,實現I/O虛擬化。此外,對一些非獨占設備,ZVM使用設備直通的方式實現設備的訪問。

4. 未來規劃

ZVM由Sig-Zephyr進行維護,并計劃在2023年5月推出第一個支持Zephyr最新LTS的基礎版本,7月實現openEuler Embedded和ZVM整合,并將完善各項其它高級功能,如IO設備框架支持、虛擬機動態資源管理及實時性支持等。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19178

    瀏覽量

    307696
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121177
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115376
  • 虛擬機
    +關注

    關注

    1

    文章

    940

    瀏覽量

    28427

原文標題:openEuler開源新項目,嵌入式實時虛擬機ZVM介紹

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式的 你們Linux系統是裝在虛擬機還是PC上呢?

    嵌入式的 你們Linux系統是裝在虛擬機還是PC上呢?
    發表于 03-16 23:17

    gnuboy虛擬機怎么應用到嵌入式環境中?

    嵌入式平臺上對gnuboy運用進行的嘗試性工作,同時, Gnuboy作為一種虛擬機技術,本文的工作對研究虛擬機技術在ARM L inux中的應用也具有一定的價值。
    發表于 03-05 06:51

    介紹VirtualBox虛擬機的構建方法

    本系列文章將向大家介紹嵌入式系統開發的各方面知識。本文將向大家介紹VirtualBox虛擬機的構建方法。一、什么是虛擬機二、主流
    發表于 11-08 06:21

    如何創建虛擬機

    實戰開發--開發環境安裝(五)1、下載軟件vmware和ubuntu-20.04.1-desktop-amd64.iso2、創建虛擬機完整步驟3、安裝嵌入式linux所需的工具包4、安裝vmware tool,實現虛擬機與物理主
    發表于 12-16 07:45

    虛擬機通過USB網卡與嵌入式Linux開發板直連需求

    應用場景:虛擬機通過USB網卡與嵌入式Linux開發板直連需求:保證虛擬機正常上網的同時,使用USB網卡與開發板組建局域網通信虛擬機網絡設置:橋接模式,使用獨立IP(方便以
    發表于 12-16 07:02

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

    學習!!!!文章嵌入式系統設計(一):虛擬機、Ubuntu的安裝以及SSH 軟件的安裝使用:里面詳細介紹了SSH軟件的安裝和ssh 軟件在主機和虛擬機之間傳文件。文章
    發表于 12-22 08:01

    基于嵌入式平臺的并發虛擬機研究

    并發程序對提高應用系統的處理能力具有重要作用,基于嵌入式平臺的并發程序開發尚無統一的工具支持。本文提出了一種基于嵌入式平臺的并發虛擬機(CVM)設計思想,并采用
    發表于 09-09 16:08 ?14次下載

    虛擬機嵌入式開發

    虛擬機嵌入式開發 華清遠見視頻教程使用說明================================= 環境要求:1、推薦最佳分辨率為1024*
    發表于 02-11 10:44 ?20次下載

    基于gnuboy虛擬機嵌入式實驗平臺的移植與優化

    本文就是在構建的基于ARM920T Linux的嵌入式平臺上對gnuboy運用進行的嘗試性工作,同時, Gnuboy作為一種虛擬機技術,本文的工作對研究虛擬機技術在ARM L inux中的應用
    發表于 02-12 11:17 ?1146次閱讀
    基于gnuboy<b class='flag-5'>虛擬機</b>的<b class='flag-5'>嵌入式</b>實驗平臺的移植與優化

    字符型嵌入式軟PLC虛擬機設計

    摘要! 介紹一種可直接解析字符型語句表指令的字符型嵌入式軟PLC虛擬機虛擬機主要運行于嵌入式操作系統上可直接對字符型語句表指令進行解析和處
    發表于 04-08 16:54 ?25次下載
    字符型<b class='flag-5'>嵌入式</b>軟PLC<b class='flag-5'>虛擬機</b>設計

    嵌入式系統開發筆記1:構建VirualBox虛擬機開發環境

    本系列文章將向大家介紹嵌入式系統開發的各方面知識。本文將向大家介紹VirtualBox虛擬機的構建方法。一、什么是虛擬機二、主流
    發表于 11-03 13:06 ?13次下載
    <b class='flag-5'>嵌入式</b>系統開發筆記1:構建VirualBox<b class='flag-5'>虛擬機</b>開發環境

    嵌入式系統設計(九):虛擬機安裝常見錯誤匯總,保你順利安裝

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

    嵌入式系統設計(二): 虛擬機和主機之間共享文件夾

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

    嵌入式虛擬化保護傳統投資

      總之,被稱為嵌入式虛擬機管理程序的虛擬化技術基于實時分離內核,可以幫助嵌入式開發人員將他們的傳統嵌入
    的頭像 發表于 06-28 15:05 ?872次閱讀

    openEuler開源新項目,嵌入式實時虛擬機ZVM介紹

    嵌入式實時虛擬機ZVM(Zephyr-based Virtual Machine)是由湖南大學嵌入式與網絡計算湖南省重點實驗室(以下簡稱“湖
    的頭像 發表于 04-11 14:52 ?1803次閱讀
    24山 分金 水口 论 吉凶| 免费百家乐过滤| 百家乐几点不用补牌| 台南县| 尚品棋牌注册| 最大的百家乐官网网站| 百家乐官网桌面| 金百亿百家乐娱乐城| 大发888娱乐城范本| 黑山县| 百家乐官网那里可以玩| 大发百家乐的玩法技巧和规则| 云龙县| 真人百家乐官网网络游戏信誉怎么样 | 百家乐官网现金游戏注册送彩金| 百家乐最新首存优惠| 德州扑克 视频| 百家乐官网的路图片| 百家乐扑克牌手机壳| 百家乐官网任你博娱乐网| 百家乐国际娱乐网| 太阳城在线娱乐网| 百家乐官网玩法官网| 德州扑克庄家| 百家乐官网微笑打法| 百家乐开户过的路纸| 百家乐官网龙虎台布| 正品百家乐玩法| 百家乐官网娱乐官网网| 全讯网历史回顾| 百家乐官网赌场凯时娱乐| 威尼斯人娱乐城评价| 首席百家乐官网的玩法技巧和规则 | 竞咪百家乐官网的玩法技巧和规则| 百家乐b28博你发v| 百家乐官网存1000送| 真人娱乐城源码| 百家乐官网贴士介绍| 丰合国际网上娱乐| 百家乐官网专用桌子| 滦南县|