基于Xen的嵌入式虚拟化技术研究
胡雯
摘 要:本文首先介绍了嵌入式虚拟化技术的特点及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
centos (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 d 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).
(本文审稿 李正发)
基于Xen的嵌入式虚拟化技术研究
本文2022-11-08 00:24:30发表“文化教育”栏目。
本文链接:https://www.wenmi123.com/article/423061.html
- 座谈会发言:体系抓好思政课教育做好贯彻落实下篇文章(02-19).docx
- 组织部机关支部书记2024年度抓基层党建工作述职报告(02-19).docx
- 在县委理论中心组暨2024年度民主生活会学习研讨会上的发言(02-19).docx
- 在2025年市人代会分组讨论会上的发言(02-19).docx
- 医院党委选人用人工作自查报告(02-19).docx
- 宣传部2024年民主生活会个人对照检查发言(02-19).docx
- 行政服务中心民族团结进步创建工作经验材料(02-19).docx
- 校长在中学2025春季开学典礼上的讲话:撷一抹祈望春风掬一程锦绣花开(02-19).docx
- 乡镇领导班子2024年民主生活会对照检查发言材料(五个带头+典型案例)(02-19).docx
- 乡2024年度基层党建工作总结(02-19).docx