EDN China > 技术文章 > 消费电子设计 > 手机设计 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

利用虚拟化简化Android迁移

ARM公司?? 2011年03月04日 ?? 收藏0

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

原始环境与虚拟化环境下的GTK执行性能

  表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这一流行平台的捷径。请尽情畅想,它能够为您的下一设计带来哪些令人赞叹的功能。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

虚拟化? Android? 迁移?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈