對(duì)于嵌入式系統(tǒng),縮放與冗余需求會(huì)隨著 SoC 的性能和功能的增強(qiáng)而提升??s放要求加載在處理器上的軟件量隨系統(tǒng)需求增長(zhǎng)而增加。例如高性能計(jì)算環(huán)境要求將更多 Linux 操作系統(tǒng)實(shí)例投入使用,滿足用戶提出的更多請(qǐng)求。通過運(yùn)用虛擬化,能夠根據(jù)需要將 Linux 的相同復(fù)本投
入使用。隨后,隨著系統(tǒng)上的需求減少,這些 Linux 的實(shí)例可被關(guān)閉。
冗余要求特定服務(wù)保持可用,甚至是在系統(tǒng)處于非常時(shí)期的時(shí)候也一樣。例如 RTOS 能提供對(duì)特定系統(tǒng)功能的關(guān)鍵監(jiān)測(cè)。如果該 RTOS 因某種原因失效呢?使用虛擬化,系統(tǒng)監(jiān)控器能檢測(cè)到故障,還能重新啟動(dòng)該 RTOS,或者啟動(dòng)該 RTOS 的一個(gè)新實(shí)例,從而最大限度地降低或消除這些關(guān)鍵系統(tǒng)服務(wù)的停機(jī)時(shí)間。
為什么選擇 Xen
在選擇管理程序解決方案的時(shí)候,重要的是讓它穩(wěn)健和可靠。此外,它必須通過積極主動(dòng)的開發(fā)來跟上它周圍世界發(fā)生的變化的步伐。Xen 管理程序就是這樣的一種解決方案。
Xen 最初是上個(gè)世紀(jì) 90 年代晚期在劍橋大學(xué)作為更大的Xenoserver 項(xiàng)目的子項(xiàng)目開始的。它于 2000 年代早期發(fā)布給開源社區(qū),并在 2013 年得到 Linux 基金會(huì)的支持。在 Linux 基金會(huì)的鼎力支持下,Xen 已經(jīng)成為基于 Linux 的操作系統(tǒng)的事實(shí)管理程序解決方案。
雖然 Xen 的傳統(tǒng)架構(gòu)一直是兼容 x86,近期的主機(jī)開發(fā)使之也成為 ARM 架構(gòu)上的穩(wěn)健解決方案。Xen 能充分發(fā)揮包括系統(tǒng)存儲(chǔ)器管理單元 (SMMU) 在內(nèi)的 ARMv8 底層虛擬硬件的作用。
Xen 免費(fèi)提供,并配套標(biāo)準(zhǔn)的 GPLv2 許可證,有活躍的用戶社區(qū)開發(fā)新特性,以及豐富的技術(shù)支持資源。對(duì)需要商業(yè)化維護(hù)和支持的集成商而言,有 DornerWorks 這樣的廠商為 Xen 提供專業(yè)支持和結(jié)構(gòu)。
在選擇管理程序解決方案時(shí),軟件支持也是一個(gè)關(guān)鍵的差異化因素。Xen 本身是一種 I 類管理程序,即它能直接在底層硬件上運(yùn)行,而不像 II 類管理程序 VMWare 或 VirtualBox 運(yùn)行在主機(jī)操作系統(tǒng)上。
Xen 管理程序把客戶操作系統(tǒng)劃分為域。它使用特殊的管理接口Dom0 控制管理程序的運(yùn)行時(shí)操作。該域?yàn)?Xen 管理程序提供專用軟件基礎(chǔ)架構(gòu)。這種運(yùn)行結(jié)構(gòu)對(duì) Xen 的正常工作是必須的。Dom0 使用其內(nèi)核內(nèi)的專用軟件以及能夠直接訪問底層硬件的專用管理驅(qū)動(dòng)程序。最常見的 Dom0 操作系統(tǒng)之一是Linux,它能夠有力地支持 Zynq UltraScale+ MPSoC。
所有存在于非專用域內(nèi)的標(biāo)準(zhǔn)客戶操作程序都被集中稱之 DomU。包括 Linux 這樣的高級(jí)操作系統(tǒng)、FreeRTOS 這樣的實(shí)時(shí)操作系統(tǒng)乃至裸機(jī)代碼等各種客戶軟件都在底層受 Xen 支持用于 DomU。任何主機(jī)與客戶的組合都完全受系統(tǒng)設(shè)計(jì)人員的需求驅(qū)動(dòng)。相比之下,大部分商業(yè)管理程序解決方案只支持有限數(shù)量的客戶而且是在極為具體的配置中,一般是管理程序提供方自己開發(fā)的配置中。
將 Xen 管理程序與 Zynq UltraScale+ MPSoC 集成簡(jiǎn)便易行
即便管理程序解決方案使用最出色的技術(shù)組件,如果不能簡(jiǎn)單直觀地實(shí)施在用戶系統(tǒng)中,也基本上沒有什么用處。通過極為貼近 Linux 內(nèi)核,Xen 在這方面能提供很多便利。實(shí)現(xiàn) Xen 管理程序功能與在Linux 內(nèi)核中實(shí)現(xiàn)任何其他特性沒有區(qū)別。此外。管理 DomU 沙盒既可以手動(dòng)處理,也可以通過稱為Xen 工具的工具套件處理。
對(duì)于將 Linux 用作 Dom0 的設(shè)計(jì)人員,通過命令行就能簡(jiǎn)單易行地安裝 Xen 工具。Xen 工具可使用源代碼構(gòu)建和安裝,也可借助 RPM 或 APT 等通用封裝管理器構(gòu)建和安裝。
安裝完成后,Xen 工具能從 Linux 用戶空間用名為xl 的工具創(chuàng)建、管理和損壞 DomU 環(huán)境。
創(chuàng)建新的虛擬機(jī)與創(chuàng)建描述虛擬化環(huán)境的明文 ASCII 配 置文件一樣簡(jiǎn)單。該文件設(shè)定如下的詳細(xì)內(nèi)容:
? 為虛擬機(jī)分配的存儲(chǔ)器數(shù)量
? 虛擬化的 CPU 的數(shù)量
? 聯(lián)網(wǎng)詳情
? 磁盤鏡像文件
配置文件還可以借助文本解析工具和版本控制軟件輕松地加以管理。請(qǐng)參閱如下的實(shí)例代碼:
# 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']
電子發(fā)燒友App

























評(píng)論