?

基于Xen的嵌入式虛擬化技術研究

2017-05-11 14:26胡雯
武昌理工學院學報 2017年1期
關鍵詞:嵌入式虛擬化

胡雯

摘 要:本文首先介紹了嵌入式虛擬化技術的特點及3個不同的技術類型,著重研究了基于Xen管理程序的嵌入式半虛擬化技術,并進行了基于ARM嵌入式平臺的虛擬化操作系統的移植和數據傳遞的測試實驗,為進一步的研究和推廣嵌入式虛擬化技術提供有價值的參考。

關鍵詞:嵌入式;虛擬化;Xen

中圖分類號:TB317 文獻標識碼:A

1 序言

虛擬化是一種資源管理技術,其目的是整合計算機的所有軟硬件資源,在不受原有計算機資源的環境配置等限制,將計算機的所有軟硬件資源重新整合劃分,為用戶提供更優的架構方式及功能實現??梢岳斫鉃?,這種集成是將單個物理資源表示為多個可用虛擬資源,也可以使多個物理資源表示為單個虛擬資源可用,甚至多個物理資源可以集成和區分出來的可用虛擬資源。

2 嵌入式虛擬化技術分析

Virtualization虛擬化技術在早期主要應用在服務器和大型機上,隨著PC的快速增長,虛擬化已經逐漸應用到x86架構,并得到普及。

虛擬化將IT環境變得更強大,更有彈性和更有活力,虛擬化做到了將多個操作系統集成到單個高性能服務器上,利用硬件平臺的資源來支持更多應用程序,或簡化IT基礎架構,降低難度在資源管理上,并避免不必要的IT基礎架構擴展。虛擬機的真正硬件獨立性還使虛擬機運行時遷移,允許真正的不間斷操作,最大化業務連續性,而不必為購買超高可用性平臺支付高昂的價格。

虛擬化技術分為3個類型:模擬虛擬化技術、全虛擬化技術、半虛擬化技術。

2.1 模擬虛擬化技術

這種虛擬化技術只用于某些特定的領域,例如,在一個處理器平臺上模擬另一個指令集不同的處理器平臺,或在這個平臺中的其他處理器平臺運行軟件,比如在X86平臺上模擬ARM嵌入式領域平臺,可以使嵌入式平臺的軟件開發變得容易。與嵌入式平臺相比,目前X86平臺的硬件資源相對豐富,因此即使仿真會使計算機本身性能嚴重下降,但嵌入式平臺的仿真也具有可用性,該技術適合嵌入式環境低成本,方便快捷的嵌入式軟件開發。已開發出的相應模擬器軟件有Bochs,QEMU等。

2.2 全虛擬化(Full Virtualization)技術

該技術可理解為基于動態指令的全虛擬化,是一種純軟件虛擬化技術。其特點是當虛擬機管理程序正在執行時,虛擬機操作系統的指令掃描到了二進制代碼,會挑選敏感指令并將其轉換為其它等效指令,運行等效指令而不是敏感指令。這種方法由于使用軟件同步檢測和運行的方式實現程序的執行,性能不高,但運行速度要優于模擬虛擬化技術。

2.3 半虛擬化(Para Virtualization)技術

半虛擬化技術也叫基于硬件的半虛擬化技術,主要應用在開源操作系統,如Linux操作系統。其技術特征在于,操作系統要執行的調用及其他特定指令的特權操作或指令修改等,交由下層的虛擬機管理器VMM進行管理,并根據VMM返回信息再進行指令修改等后續操作,并通過系統調用機制主動向虛擬機管理器報告,讓虛擬機管理器代替執行。半虛擬化技術因為高性能的VMware ESX,Xen虛擬化平臺和KVM虛擬化平臺,無需修改操作系統等簡單性優勢,已被許多虛擬化產品采用?;诖?,在嵌入式虛擬化系統中也開始支持和使用半虛擬化技術,加快嵌入式虛擬化的普及。

目前主流的嵌入式處理器芯片都存在有敏感非特權指令,而且不支持硬件輔助完全虛擬化,并且若使用基于軟件的全虛擬化又對性能影啊很大,不適合用于嵌入式平臺。因此,大家轉向尋找更好的解決方案,XEN管理程序的出現,為嵌入式虛擬化技術帶來了希望。

3 XEN虛擬化技術

3.1 技術簡介

XEN 是英國劍橋大學計算機實驗室開發的一個虛擬化開源項目,由于其具有占用資源少、和操作系統完全貼合等優點,很快就被技術人員發現,應用于虛擬化領域和嵌入式虛擬化領域。其特點是基于X86體系結構,并且與開源操作系統能完美結合,支持全虛擬化和半虛擬化。以高性能、占用資源少著稱,因此被作為嵌入式虛擬化技術的首選應用方案。

3.2 實驗方案

基于Xen的嵌入式半虛擬化實現方案如圖1所示,首先在ARM Cortex-A8處理器平臺上移植Xen-ARM虛擬化平臺,然后將虛擬化后的嵌入式操作系統Linux(編號Domain O)與另一個嵌入式操作系統(編號Domain1)分別作為客戶操作系統運行在VMM上,客戶機OS或應用程序與VMM直接通過Hypercall(系統調用)實現信息通信,DomainO與Domainl直接通過共享內存來實現數據傳遞。

3.3 實驗過程

(1) 嵌入式系統移植,實驗操作如下:

[root@localhost ~]# yum-config-manager --add-repo=http://mirrors.aliyun.com/centos/6.7/xen4/x86_64/

[root@localhost ~]# yum install xen –y

[root@localhost ~]# vim /etc/grub.conf

titleCentOS (3.18.12-11.el6.x86_64)

root (hd0,0)

kernel /xen.gz dom0_mem=1024M cpufreq=xen dom0_max_vcpus=2 dom0_vcpus_pin

module /vmlinuz-3.18.12-11.el6.x86_64 ro root=/dev/mapper/vg0-root

……

module /initramfs-3.18.12-11.el6.x86_64.img [root@localhost ~]# mkdir -pv /data/xen -pv

[root@localhost ~]# cd /data/xen/

[root@localhostxen]# qemu-img create -f raw -o size=2G busybox.img

[root@localhostxen]# mkfs.ext4 busybox.img

[root@localhost ~]# yumgroupinstall "Development Tools" "Server Platform Development"

[root@localhost ~]# yum install glibc-static

[root@localhost ~]# tar xf busybox-1.22.1.tar.bz2

[root@localhost busybox-1.22.1]# make&& make install

[root@localhost busybox-1.22.1]# mount -o loop /data/xen/busybox.img /mnt/

[root@localhostmnt]# mkdirdevproc sys home

[root@localhostxen]# xl create busybox

Parsing config from busybox

DEBUG libxl__blktap_devpath 76 aio:/data/xen/busybox.img

DEBUG libxl__blktap_devpath 81 /dev/xen/blktap-2/tapdev0

[root@localhostxen]# xl list

Name ID MemVCPUs State Time(s)

Domain-0 0 1024 2 r----- 29.0

busybox-01 4 256 1 -b---- 0.6

(2)數據通信測試

由Domain0負責發送數據,Domain1通過共享內存獲取數據,并設計一個測試程序在Domain1端運行,觀察運行時的數據和運行速度,測試獲取數據的正確性,以及程序引擎的代碼運行速率,以此來檢驗該虛擬化環境的運行性能。并將該測試搬到PC機上搭建的一個類似的虛擬化環境中進行。測試結果如表1所示,傳遞數據的數據正確率為100%,讀取數據的代碼運行速度基本接近于PC機虛擬化環境。由此證明,該嵌入式虛擬化環境的可用性及運行性能都較高,可以作為研究嵌入式虛擬化技術的有價值的參考數據。

4 小結

由于虛擬化技術還在繼續發展中,本文選擇Xen虛擬化管理工具,完成了嵌入式虛擬化平臺的移植,及數據傳遞等程序測試,并與同等虛擬化環境的PC機程序,做了對比試驗,實驗結果表明該虛擬化技術在保證數據正確的基礎上,基本能夠實現OS對硬件的訪問及管理。由于硬件環境的限制,本文只選擇了2個虛擬化系統實例,并且選用了ARM微處理器平臺進行實驗。今后將在多虛擬化系統的環境下,對不同嵌入式平臺做進一步的研究和測試。

參考文獻:

[1] 張易知,徐國治.基于微內核架構的嵌入式系統虛擬化技術[J].電子產品世界,2009(4).

[2] 鄭國暉,肖霏,于弼君.云計算技術發展與應用研究[J].硅谷,2011(10).

[3] 石磊.xen虛擬化技術[M].武漢:華中科技大學,2009.

[4] 伍箴水.嵌入式系統中設備虛擬化的關鍵技術研究[D].華中科技大學碩士論文,2012.

[5] Kernel Based Virtual Machine. [DB/OL]. http://www.linux- kvm.org/page/Main_Page, 2010.

[6] VirtualLogixCorp. Meeting the Challenges of Connected De-vice Design Through Real-Time Virtualization [DB/OL]. http://www.vmware.com/cn/technology/mobile/,2009.

[7] 葉常春.嵌入式虛擬化技術[J].計算機工程與科學, 2012(3).

(本文審稿 李正發)

猜你喜歡
嵌入式虛擬化
嵌入式LINUX操作系統的研究
淺談虛擬化工作原理
用戶怎樣選擇虛擬化解決方案
別再誤會客戶端虛擬化了
虛擬化整合之勢凸顯
虛擬化技術:綠色IT的希望
嵌入式的特點及發展機遇
經濟危機使虛擬化受青睞
嵌入式組件技術的研究及應用
基于嵌入式系統的游戲程序設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合