当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]利用虚拟化简化Android迁移

在不到18个月的时间里,Google Android平台已从一名“新生儿”成长为全球移动市场乃至移动领域之外其他智能设备领域内的重要成员。越来越多的手持设备开始部署Android平台,到2010年末,预计还会诞生数十种采用Android的手机设计,除此以外,Android在其他领域的应用也日益广泛。

Android 平台具有两大吸引力:Android为OEM提供了一个功能丰富的开源移动操作系统,让设备不仅做到“开箱即用”,而且能够支持第三方应用程序;Android Market应用程序商店中第三方应用程序的产品组合不断增加,拉升了对基于Android的设备的需求,同时为整个生态系统带来了新的商机。但另一方面,以Android为目标的设备硬件也为开发人员带来了一系列挑战:内核对CPU及SoC的支持、驱动程序开发、性能优化、与其他系统软件的整合等等。

本文将探讨这些难题,并着重讲述移动/嵌入式虚拟化如何能够帮助OEM及其他开发人员简化Android支持和迁移。特别地,本文将结合使用流行的Beagle Board与OKL4 Microvisor。此外,文中还将以安全VoIP作为应用示例,演示hypervisor技术如何帮助开发人员构建和部署更加稳健的Android设备及运行于其上的软件和服务。

在BeagleBoard及其他硬件上支持Android

Beagle Board (

图1:图中架构包含Beagle Board OMAP CPU“裸机”上运行的OKL4 Microvisor。启动时,系统引导进入OKL4,然后由OKL4加载并协调Android及其他客户机软件的执行。

在特定安全单元(虚拟机)中,microvisor托管:

Android。该组件与其他应用关键型组件完全隔离,以确保添加至该开放操作系统平台中的软件不会影响到整个系统的稳定性或安全性。事实上,即使Android发生崩溃或死锁,OKL4仍可以重新加载/重新启动 Android,而不影响其他安全单元中正在运行的软件(如Linphone)。

Linphone(或其他VoIP栈和应用程序)。在我们的参考设计中,我们移植了Linphone以便直接在OKL4 Microvisor上运行,但如果资源允许的话,Linphone可以驻留在安全单元中的Linux实例上。我们的设计有意地将Linphone与 Android隔离开来,以确保Linphone的稳定性和安全性;另一方面,将Linphone托管在OKL4 Microvisor之上还能够节约内存并提高性能。

音频及串口驱动程序。Android与Linphone共享音频驱动程序,即使用户禁用了Android,该驱动程序仍能够为VoIP通话提供音频输入/输出。串口驱动程序是隔离共享的,以支持系统控制台和调试。

运行系统功能如下:Android作为主操作系统,通过Beagle Board上的OMAP显示硬件提供标准的Android用户界面呈现给客户。用户可以使用基于Android的VoIP“拨号”应用程序或 Android下运行的Linphone控制台服务器来启动安全的VoIP通话。通话启动后,用户可以运行其他Android应用程序(游戏、网页浏览等),而不影响VoIP通话的质量或安全性。此时,即使Android进入睡眠模式甚至死机,都不会导致通话中断。

虚拟化和性能优化

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

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

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

下表是我们在原始环境和虚拟化环境中运行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这一流行平台的捷径。请尽情畅想,它能够为您的下一设计带来哪些令人赞叹的功能。

更多医疗电子信息请关注:21ic医疗电子频道

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭