您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网 > 电子威廉希尔官方网站 应用 > 嵌入式威廉希尔官方网站 > 嵌入式设计应用 >

嵌入式虚拟化简化Android迁移(2)

2011年02月22日 09:43 本站整理 作者:网络 用户评论(0
虚拟化和性能优化

  嵌入式开发人员总是不信任“阻挡其与硬件亲密接触”的软件。 在智能设备发展初期,面向硬件的开发人员不喜欢使用高级语言,而偏好汇编代码,以期从“裸机”中获取更多性能。不久,实时操作系统便成了一种“感知瓶颈”。再之后,Linux和Android之类的应用操作系统进一步加深了痴迷性能的工程师、产品??理和最终用户的不快。

  而如今,移动/嵌入式虚拟化又形成了一个抽象层。它虽然提高了生产效率,但却使开发人员及其代码进一步“远离”底层硬件,使开发人员无法深入发掘他认为的通过“裸机执行所具有的性能优势”。

  说起来也许令人难以置信,但在许多应用方面,虚拟化不仅只产生极小的性能开销,而且还能够提高吞吐量和响应速度,这主要得益于内存利用率的提升和对microvisor IPC的利用。使用了GTKPerf基准测试套件针对常见GTK+ UI框架执行的测试结果如表1所示。GTKPerf提供了一个通用测试平台,运行预定义的GTK+窗口小部件(打开组合框、切换按钮、滚动文本等)来衡量设备或平台的运行速度。有关详细信息,请访问http://gtkperf.sourceforge.net/。

  下表是我们在原始环境和虚拟化环境中运行GTKPerf时得到的实际耗时及开销结果。对于Android图形及平台中的其他子系统,结果应该与此类似。

  

《电子系统设计》

 

  表1:原始环境与虚拟化环境下的GTK执行性能。

  下面我们来探讨一些更深入的microvisor实现示例,这些实现真实提高了Android等客户操作系统的性能,这种性能提升在ARM9系列低成本芯片上尤为明显。

  快速地址空间切换

  像OKL4这样设计精良的microvisor并不依赖于其托管的客户操作系统,并且能够在不同客户机和客户机进程间提供快速、低延迟的上下文切换。Android软件架构构建于相互隔离的组件之上,这些组件借助自定义IPC机制进行通信。与传统基于Linux的环境相比,该架构会产生更多的进程间通信,每次切换进程上下文都需要刷新全部缓存。如果常规Linux中的上下文切换会产生延迟和内存总线占用,那么Android的情形可想而知。

  为提高Android的性能,OKL4会维护此类上下文切换的相关高速缓存状态,以提高高速缓存利用率,这样不仅缩短了上下文切换延迟,而且还提高了整体性能。

  将内存占用降至最小

  OKL4 Microvisor针对性能和内存使用进行了优化。对于Android与Linux或OKL4 Microvisor这类基于微内核的环境,直接比较满栈占用的内存大小非常困难。显然,Android与Linux就连提供的服务范围都各不相同。

  不过,值得注意的是,OKL4微内核本身只占用几十KB,而Android和Linux的内核都是以MB来衡量的。虽然OKL4与生俱来的小尺寸并不能将系统占用降至最小,但是这个小尺寸基础平台与一系列附加组件相互集成就形成了一个轻量级准虚拟化平台──OK:Android。与Xen或KVM之类的企业和桌面hypervisor(包含整个Linux内核)相比,OKL4真的非常小巧。

  扩展架构及其应用

  本文介绍的系统架构旨在演示在虚拟化环境中运行Android及相关软件的简单和实用之处。这一结构有可能为Android以外的其他客户操作系统提供同样的支持。 为方便操作系统集成,OK Labs提供了多种常见移动/嵌入式操作系统的准虚拟化版本,其中包括OK:Linux和OK:Symbian,以及协助开发人员准虚拟化几乎任何开源操作系统的工具和服务。

  除此以外,该设计类型并不局限于移动应用或Beagle Board。为方便在广泛的移动设备上使用,OKL4支持ARMv5、ARMv6和ARMv7架构。这种广泛支持使得能够轻松将Android及其他受支持操作系统迁移到其他CPU和SoC,以及Beagle Board开发环境或移动应用以外的设备类型;如今,已有超过5亿部设备采用了OKL4。

  由于OKL4使用了相同的虚拟化架构,因此能够轻松地支持在以下设备上运行的高级操作系统(如Android、实时操作系统及针对特定目的构建的平台):上网本,Webpad、机顶盒与数字录像机、高清电视、车载系统、医疗设备──实际上是支持任何基于ARM的设备。

  本文小结

  借助虚拟化设计,OEM及开发人员不但能够简化迁移和集成,还能够享受软件组件之间高度隔离所带来的稳定性和安全性。在Beagle Board上,OKL4 Microvisor提供了一个稳定、可靠托管Android这一流行平台的捷径。请尽情畅想,它能够为您的下一设计带来哪些令人赞叹的功能。

非常好我支持^.^

(1) 100%

不好我反对

(0) 0%

( 发表人:发烧友 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!