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

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

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

將虛擬化用于嵌入式系統(tǒng)的解決方案

Xilinx賽靈思官微 ? 來源:djl ? 作者:賽靈思 ? 2019-07-30 16:34 ? 次閱讀

運行在 UltraScale+ MPSoC 上的 Xen 管理程序,可提供穩(wěn)健可靠的硬件加速虛擬化和易用性,有助于嵌入式系統(tǒng)設計人員最大化硬件投資回報。

虛擬化對桌面系統(tǒng)已是司空見慣,但對嵌入式系統(tǒng)設計人員來說,卻一直是一個棘手的問題,因為嵌入式系統(tǒng)設計人員需要優(yōu)化 SoC 系統(tǒng)的利用率和性能。

傳統(tǒng)上,虛擬化難以用于嵌入式領域,是因為缺乏既可簡化解決方案實現(xiàn)工作,又能提供滿意性能的合適硬件資源。因此,需要在同一處理器上運行異構軟件協(xié)議棧的系統(tǒng)不得不依賴于人工管理各種軟件協(xié)議棧,或不得不接受未加速虛擬化所帶來的更大時延和性能特性下降等缺陷。

位于每個 Zynq UltraScale+ MPSoC 核心的 ARM v8 架構能確保真正的硬件加速虛擬化,克服這些實現(xiàn)障礙。此外,Xen 管理程序提供的易用性為在嵌入式系統(tǒng)中實現(xiàn)桌面級性能和生產(chǎn)力奠定了基礎。運行在 Zynq UltraScale+ MPSoC 上的 Xen 管理程序為系統(tǒng)設計人員提供完整的解決方案,能充分釋放嵌入式系統(tǒng)設計的全部潛力。

簡 介

WP474

虛擬化通過讓多個軟件協(xié)議棧同時運行在同一處理器上,已經(jīng)征服了桌面系統(tǒng),現(xiàn)在將進軍嵌入式系統(tǒng)。VMWare 和 VirtualBox 這樣的常用套件已經(jīng)讓虛擬化成為桌面用戶司空見慣的做法。這類軟件被視為臺式電腦生產(chǎn)力增強器,不過賽靈思 Zynq UltraScale+ MPSoC 等嵌入式片上系統(tǒng) (SoC) 也可運用同一原理充分發(fā)揮最大潛能。

虛擬化的作用隨系統(tǒng)發(fā)生變化。對某些設計人員來說,虛擬化能夠讓處理器始終保持滿負載狀態(tài),從而節(jié)省電力,最大化性能。對其他系統(tǒng),虛擬化可對各個軟件協(xié)議棧進行分區(qū),實現(xiàn)隔離或冗余。

傳統(tǒng)上,虛擬化難以用于嵌入式領域,是因為缺乏既可簡化解決方案實現(xiàn)工作,又能提供滿意性能的合適硬件資源。因此,需要在同一處理器上運行異構軟件協(xié)議棧的系統(tǒng)不得不依賴于人工管理各種軟件協(xié)議棧,或不得不接受未加速虛擬化所帶來的更大時延和性能特性下降等缺陷。

位于每個 Zynq UltraScale+ MPSoC 核心的 ARM v8 架構能確保真正的硬件加速虛擬化,克服這些實現(xiàn)障礙。此外,Xen 管理程序提供的易用性為在嵌入式系統(tǒng)中實現(xiàn)桌面級性能和生產(chǎn)力奠定了基礎。運行在 Zynq UltraScale+ MPSoC 上的 Xen 管理程序為系統(tǒng)設計人員提供完整的解決方案,能充分釋放嵌入式系統(tǒng)設計的全部潛力。

為什么要虛擬化嵌入式系統(tǒng)?

是否需要虛擬化一般由下列三大系統(tǒng)設計特征之一決定的 :

處理器必須能根據(jù)性能規(guī)范要求盡量保持滿載。

應安全、可擴展性和 / 或可靠性的要求需要進行軟件隔離或分區(qū)。

為滿足可靠性要求,需要進行縮放或提供冗余。

硬件加速的虛擬化位于 Zynq UltraScale+ MPSoC 的 ARMv8 架構的核心位置。這種協(xié)同架構不僅能滿足上述每一項要求,實際上它還能簡化實現(xiàn)工作。之所以能這樣,是因為它為每個客戶軟件協(xié)議棧提供一個隔離的沙盒。沒有這樣的硬件加速,這些系統(tǒng)會變得復雜得多,給實現(xiàn)和管理帶來切實的問題。

經(jīng)優(yōu)化的系統(tǒng)加載

對系統(tǒng)加載進行精心管理是嵌入式系統(tǒng)的共通難題,在沒有管理程序輔助時還會造成一系列嚴峻的運行問題。Linux 等傳統(tǒng)操作系統(tǒng)非常擅長于處理對稱多處理 (SMP) 任務,此時所有處理器核都處在它的控制之下。但是如果不是每一個處理器都有任務會怎么樣? Linux 會讓沒有使用的處理器處于待機狀態(tài)。

Linux 的多個實例可按原樣虛擬化(即對 Linux 不做修改),每個實例都運行自己的一組任務??梢愿鶕?jù)需要將 Linux 的新實例投入使用。相反如果需求較低,這些 Linux 實例可以關閉。因此處理器可以根據(jù)需要激活或待機,但系統(tǒng)總體上能保持近乎持續(xù)的繁忙。另外,管理多個不同的軟件協(xié)議棧也可采用類似的方法。這樣無需要求所有的虛擬操作系統(tǒng)相同,從而提高最終系統(tǒng)的靈活性和模塊化水平。

經(jīng)優(yōu)化的軟件隔離與分區(qū)

軟件隔離和分區(qū)是另一個能給非托管環(huán)境帶來嚴峻挑戰(zhàn)的常見用例。這個問題與系統(tǒng)加載問題類似,但是包含一項額外的要求,即每個軟件協(xié)議棧不能與任何同時運行的軟件協(xié)議棧發(fā)生干擾。這種情況的最簡單的例子是兩個并行運行的實時操作系統(tǒng)。滿足這些需求的傳統(tǒng)方法會增大軟件的復雜性,以確保每個 RTOS 只與分配給自己的有限資源交互。相比之下,虛擬化系統(tǒng)采用的沙盒模式能讓每個 RTOS 完全控制其沙盒中可用的資源。它把這個沙盒視為完整系統(tǒng),在使用時無需了解是否有其他軟件可能在系統(tǒng)上運行。這種沙盒模式能極大地減少綁定到特定硬件平臺的資源,提高代碼的可移植性。此外,該 RTOS 無需感知系統(tǒng)中的任何其他軟件,讓它能大幅得到簡化。這種脫離依賴性的方法,對開發(fā)人員來說是一個巨大的福音,因為他們只需編寫一次代碼,就能將它部署到眾多的不同系統(tǒng)上。

經(jīng)優(yōu)化的縮放與冗余

對于嵌入式系統(tǒng),縮放與冗余需求會隨著 SoC 的性能和功能的增強而提升。

縮放要求加載在處理器上的軟件量隨系統(tǒng)需求增長而增加。例如高性能計算環(huán)境要求將更多 Linux 操作系統(tǒng)實例投入使用,滿足用戶提出的更多請求。通過運用虛擬化,能夠根據(jù)需要將 Linux 的相同復本投入使用。隨后,隨著系統(tǒng)上的需求減少,這些 Linux 的實例可被關閉。

冗余要求特定服務保持可用,甚至是在系統(tǒng)處于非常時期的時候也一樣。例如 RTOS 能提供對特定系統(tǒng)功能的關鍵監(jiān)測。如果該 RTOS 因某種原因失效呢?使用虛擬化,系統(tǒng)監(jiān)控器能檢測到故障,還能重新啟動該 RTOS,或者啟動該 RTOS 的一個新實例,從而最大限度地降低或消除這些關鍵系統(tǒng)服務的停機時間。

為什么選擇 Xen?

在選擇管理程序解決方案的時候,重要的是讓它穩(wěn)健和可靠。此外,它必須通過積極主動的開發(fā)來跟上它周圍世界發(fā)生的變化的步伐。Xen 管理程序就是這樣的一種解決方案。

Xen 最初是上個世紀 90 年代晚期在劍橋大學作為更大的 Xenoserver 項目的子項目開始的。它于 2000 年代早期發(fā)布給開源社區(qū),并在 2013 年得到 Linux 基金會的支持。在 Linux 基金會的鼎力支持下,Xen 已經(jīng)成為基于 Linux 的操作系統(tǒng)的事實管理程序解決方案。

雖然 Xen 的傳統(tǒng)架構一直是兼容 x86,近期的主機開發(fā)使之也成為 ARM 架構上的穩(wěn)健解決方案。Xen 能充分發(fā)揮包括系統(tǒng)存儲器管理單元 (SMMU) 在內(nèi)的 ARMv8 底層虛擬硬件的作用。

Xen 免費提供,并配套標準的 GPLv2 許可證,有活躍的用戶社區(qū)開發(fā)新特性,以及豐富的技術支持資源。對需要商業(yè)化維護和支持的集成商而言,有 DornerWorks 這樣的廠商為 Xen 提供專業(yè)支持和結構。

在選擇管理程序解決方案時,軟件支持也是一個關鍵的差異化因素。Xen 本身是一種 I 類管理程序,即它能直接在底層硬件上運行,而不像 II 類管理程序 VMWare 或 VirtualBox 運行在主機操作系統(tǒng)上。

Xen 管理程序把客戶操作系統(tǒng)劃分為域。它使用特殊的管理接口 Dom0 控制管理程序的運行時操作。該域為 Xen 管理程序提供專用軟件基礎架構。這種運行結構對 Xen 的正常工作是必須的。Dom0 使用其內(nèi)核內(nèi)的專用軟件以及能夠直接訪問底層硬件的專用管理驅(qū)動程序。最常見的 Dom0 操作系統(tǒng)之一是 Linux,它能夠有力地支持 Zynq UltraScale+ MPSoC。

所有存在于非專用域內(nèi)的標準客戶操作程序都被集中稱之 DomU。包括 Linux 這樣的高級操作系統(tǒng)、FreeRTOS 這樣的實時操作系統(tǒng)乃至裸機代碼等各種客戶軟件都在底層受 Xen 支持用于 DomU。任何主機與客戶的組合都完全受系統(tǒng)設計人員的需求驅(qū)動。相比之下,大部分商業(yè)管理程序解決方案只支持有限數(shù)量的客戶而且是在極為具體的配置中,一般是管理程序提供方自己開發(fā)的配置中。

將 Xen 管理程序與 Zynq UltraScale+ MPSoC 集成簡便易行

即便管理程序解決方案使用最出色的技術組件,如果不能簡單直觀地實施在用戶系統(tǒng)中,也基本上沒有什么用處。通過極為貼近 Linux 內(nèi)核,Xen 在這方面能提供很多便利。實現(xiàn) Xen 管理程序功能與在 Linux 內(nèi)核中實現(xiàn)任何其他特性沒有區(qū)別。此外。管理 DomU 沙盒既可以手動處理,也可以通過稱為 Xen 工具的工具套件處理。

對于將 Linux 用作 Dom0 的設計人員,通過命令行就能簡單易行地安裝 Xen 工具。Xen 工具可使用源代碼構建和安裝,也可借助 RPM 或 APT 等通用封裝管理器構建和安裝。

安裝完成后,Xen 工具能從 Linux 用戶空間用名為 xl 的工具創(chuàng)建、管理和損壞 DomU 環(huán)境。

創(chuàng)建新的虛擬機與創(chuàng)建描述虛擬化環(huán)境的明文 ASCII 配 置文件一樣簡單。該文件設定如下的詳細內(nèi)容 :

為虛擬機分配的存儲器數(shù)量

虛擬化的 CPU 的數(shù)量

聯(lián)網(wǎng)詳情

磁盤鏡像文件

配置文件還可以借助文本解析工具和版本控制軟件輕松地加以管理。請參閱如下的實例代碼 :

# This configures an HVM rather than PV guest

builder = "hvm"

# Guest name

name = "My Virtual Machine"

# Initial memory allocation (MB)

memory = 128

# Number of VCPUs

vcpus = 2

# Disk Devices

# A list of 'diskspec' entries as described in

# docs/misc/xl-disk-configuration.txt

disk = ['/dev/vg/guest-volume, raw, xvda, rw']

用于管理虛擬機的命令被稱為 xl。該命令可讓設計人員管理 Xen 虛擬機從啟動到關斷的整個生命周期。要根據(jù)已有的配置文件創(chuàng)建新的虛擬機實例,設計人員可以使用一個簡單的單行命令創(chuàng)建 Xen 管理程序 :

xl create

在虛擬機的生命周期中,其他 xl 選項如 list、reboot 和 shutdown 都可以用于管理任務。

結 論

WP474

多類系統(tǒng)都能從虛擬化獲益。許多采用其他方法會變得復雜化和高勞動強度的系統(tǒng)需求,也能夠使用 Xen 實現(xiàn)在多處理器平臺上,如擁有 ARMv8 處理器的賽靈思 Zynq UltraScale+ MPSoC。使用虛擬化能夠?qū)崿F(xiàn)下面這些想實現(xiàn)而且往往相當關鍵的特性 :

分區(qū)

隔離

可靠性

冗余

虛擬化不僅能夠?qū)崿F(xiàn)這些系統(tǒng),還能讓實現(xiàn)工作相當簡單。系統(tǒng)設計人員應該在評估自己的設計時,考慮使用虛擬化解決方案來確保最優(yōu)異、最具成本效益的結果。采用 ARMv8 多處理器的賽靈思 Zynq UltraScale+ MPSoC 對 Xen 管理程序和 Xen 工具集而言是理想的設計平臺。

對軟件開發(fā)人員而言,虛擬化能讓軟件協(xié)議棧的開發(fā)可移植、可靠,采用最少的膠合邏輯就能讓它們按要求運行。此外,在 Linux 基金的鼎力支持下,Xen 相當穩(wěn)健,能跨越多種類型的操作系統(tǒng)和軟件協(xié)議棧提供穩(wěn)健的集成和支持。最后,基于 Xen 的虛擬機的管理使用易于使用的命令行界面和適合版本控制的明文 ASCII 文本配置,相當簡單。

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

    關注

    41

    文章

    3553

    瀏覽量

    129120
  • 賽靈思
    +關注

    關注

    32

    文章

    1794

    瀏覽量

    131126
  • 虛擬化
    +關注

    關注

    1

    文章

    364

    瀏覽量

    29757
收藏 人收藏

    評論

    相關推薦

    嵌入式系統(tǒng)設計

    電路與用于提供項目解決方案的軟件編程技術集成的電子系統(tǒng)稱為嵌入式系統(tǒng)。通過使用這種嵌入式
    發(fā)表于 10-27 06:50

    嵌入式系統(tǒng)是什么意思

    電路與用于提供項目解決方案的軟件編程技術集成的電子系統(tǒng)稱為嵌入式系統(tǒng)。通過使用這種嵌入式
    發(fā)表于 10-28 08:58

    嵌入式系統(tǒng)的定義及特性

    一、嵌入式1、嵌入式系統(tǒng)(1)嵌入式系統(tǒng)的定義a、硬件電路與
    發(fā)表于 11-08 06:41

    大佬都在看的嵌入式系統(tǒng)解決方案

    、安全,永不死機,且在數(shù)據(jù)采集、執(zhí)行效率上都有極大的改善。多年來廣泛應用于***、電力、教育、醫(yī)療等行業(yè)?! ∫?、嵌入式系統(tǒng)解決方案  1、配置  計通
    發(fā)表于 11-09 07:56

    Minos嵌入式虛擬方案分享

    Minos嵌入式虛擬方案01 - 系統(tǒng)架構介紹歡迎對嵌入式軟件有興趣,對系統(tǒng)軟件有興趣的朋友加
    發(fā)表于 12-17 07:36

    什么是嵌入式系統(tǒng)

    電路與用于提供項目解決方案的軟件編程技術集成的電子系統(tǒng)稱為嵌入式系統(tǒng)。通過使用這種嵌入式
    發(fā)表于 12-22 06:11

    Java用于嵌入式系統(tǒng)之分析與解決方案

    本文詳細分析了 Java 語言用于嵌入式系統(tǒng)的優(yōu)點和缺點,并針對其不足提出了可行的解決方案。關鍵詞:嵌入式
    發(fā)表于 06-11 16:17 ?8次下載

    嵌入式系統(tǒng)的USB虛擬串口設計

    嵌入式系統(tǒng)的USB虛擬串口設計 現(xiàn)代嵌入式系統(tǒng)中,異步串行通信接口往往作為標準外設出現(xiàn)在單片機和嵌入式
    發(fā)表于 09-27 16:07 ?1050次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的USB<b class='flag-5'>虛擬</b>串口設計

    基于虛擬存儲的嵌入式存儲系統(tǒng)的設計方法

    基于虛擬存儲的嵌入式存儲系統(tǒng)的設計方法   1、引言   嵌入式系統(tǒng)嵌入式硬件
    發(fā)表于 11-05 16:10 ?767次閱讀
    基于<b class='flag-5'>虛擬</b>存儲的<b class='flag-5'>嵌入式</b>存儲<b class='flag-5'>系統(tǒng)</b>的設計方法

    風河推出嵌入式虛擬解決方案Hypervisor 1.1版本

    風河推出嵌入式虛擬解決方案Hypervisor 1.1版本 Intel全資子公司風河(Wind River)近日宣布,推出支持單核及多核處理器的嵌入式
    發(fā)表于 03-20 09:47 ?1183次閱讀

    基于虛擬TCM的嵌入式系統(tǒng)研究

    嵌入式系統(tǒng)在生活中的應用日益廣泛,傳統(tǒng)的安全增強手段已無法有效應對各種安全問題,增強嵌入式系統(tǒng)的安全性成為目前亟需解決的問題。為提高嵌入式
    發(fā)表于 11-27 15:09 ?0次下載
    基于<b class='flag-5'>虛擬</b>TCM的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>研究

    嵌入式系統(tǒng)

    硬件電路與用于提供項目解決方案的軟件編程技術集成的電子系統(tǒng)稱為嵌入式系統(tǒng)。通過使用這種嵌入式
    發(fā)表于 10-21 10:51 ?1次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>

    什么是嵌入式系統(tǒng)

    電路與用于提供項目解決方案的軟件編程技術集成的電子系統(tǒng)稱為嵌入式系統(tǒng)。通過使用這種嵌入式
    發(fā)表于 10-21 11:36 ?3次下載
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>

    針對嵌入式計算優(yōu)化虛擬

      許多嵌入式系統(tǒng)已經(jīng)采用系統(tǒng)虛擬化,通過使用虛擬機(VM)
    的頭像 發(fā)表于 11-15 16:19 ?650次閱讀

    車聯(lián)網(wǎng)車載T-BOX系統(tǒng)解決方案_汽車TBOX 嵌入式arm應用-飛凌嵌入式

    車聯(lián)網(wǎng)車載T-BOX系統(tǒng)解決方案_嵌入式arm在汽車TBOX 中的應用,飛凌嵌入式推出基于嵌入式arm技術的核心板在T-Box的
    的頭像 發(fā)表于 10-27 15:31 ?3118次閱讀
    車聯(lián)網(wǎng)車載T-BOX<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>解決方案</b>_汽車TBOX <b class='flag-5'>嵌入式</b>arm應用-飛凌<b class='flag-5'>嵌入式</b>