移动虚拟化Mobile Virtualization

来源:互联网 发布:安徽财经大学网络 编辑:程序博客网 时间:2024/05/02 01:45

以下资料参考自来:

  • http://www.visionmobile.com/blog/2010/06/mobile-virtualization-coming-to-a-smartphone-near-you/
  • http://en.wikipedia.org/wiki/Virtualization
  • http://en.wikipedia.org/wiki/Mobile_Virtualization

硬件虚拟化

 

  移动虚拟化建立在硬件虚拟化技术的基础上。在了解移动虚拟化之前,需要先了解硬件虚拟化。在虚拟化技术中,Host表示实际的硬件或者机器,Guest表示虚拟化的机器。

image

什么是硬件虚拟化

  硬件虚拟化是一个虚拟化的计算机或者操作系统,隐藏了用户设备的物理特性,向用户呈现另一个抽象的平台。在一个HOST硬件上创建虚拟机的软件或者固件成为Hypervision或者Virtual Machine Monitor。

硬件虚拟化分为以下三类

  • 全虚拟化(Full virtualization) - 完全仿真真实的应用,允许软件在一个guest的OS无需更改的运行,例如VirtualBox,QEMU,VMWare。其中一些技术需要硬件的辅助,例如QEMU,需要Linux KVM,即需要CPU提供辅助的虚拟化支持。
  • 部分虚拟化(Partial virtualization)- 仿真部分非全部的host环境。 一些guest软件可能需要修改才能运行。风险是应用可能需要使用没有仿真的环境而无法正确运行。
  • 半虚拟化 (Paravitualization)- 并不仿真host环境,而是提供一些特别的API, 然而guest软件可以在他们自己隔离的domain中运行,就像他们运行在一个分离的系统。Guest软件需要为此进行特别的修改。

硬件虚拟化应用场景

  • 运行host OS无法支持的应用
  • 评估另外一个OS,无需更换host OS
  • 服务器虚拟化,多个虚拟服务器可以运行在一台物理服务器上,为了更充分地利用物理服务器的硬件资源。
  • 复制特定环境,可恢复到以前备份的系统状态,用于备灾系统
  • 创建一个受保护的环境,某个OS上应用受到恶意攻击不影响另一个OS

移动虚拟化

image

什么是移动虚拟化

  移动虚拟化允许多个操作系统或者虚拟机同时运行在移动手机或者无线手持设备上,使用Hypervison在底层硬件上创建安全独立的软件运行环境。

移动虚拟化应用场景

  在2008年,业界开始在手机,平板,netbook和M2M模块上有相关的研究。 通过移动虚拟化,用户无需携带两台或多台移动设备,可在一个物理手持尚未上访问多台虚拟手机。

场景一:手机厂家维持原有的积累和产业生态链

生产厂家在手机上增加Andriod OS,即可使用Andriod的应用,也可保留其原有核心的应用和UI风格。

场景二:building mass-market smartphones。

创建面向大众市场的低廉的Andriod智能手机,此外高端手机越来越多地应用双核,这推高的设备的BOM表。虚拟化允许在相对便宜的单核芯片上制造智能手机。

场景三:enabling secure mobile services。

在同一个用户的手机分别提供商务环境和个人环境(one for personal, one for business),可用于企业办公等行业应用。需要安全保障的信任软件安装在一个很小的操作系统,避免负责的软件stack中被入侵。安全的服务包括:

  • 隔离移动支付和手机银行的软件
  • 安全访问私人保密信息(例如私人医疗记录)
  • 为安全访问商务重要信息提供平台
  • 提供与开放OS隔离的安全VoIP

移动虚拟化技术

  通过虚拟化提供一个安全的隔离的环境的OS,这个环境称为虚拟机virtual machine (VM), 作为一个guest软件的容器。一个称为hypervisor的软件层提供虚拟机环境并管理虚拟机的资源。

和传统的服务器和PC机的虚拟技术(下面简单表示为传统的)相比较,移动虚拟化有下面的特点:

  CPU: 在传统的技术,一般采用Intel和AMD作为CPU,这些CPU提供了虚拟化支持的功能,而移动手机中一般采用ARM架构的CPU,不提供硬件辅助虚拟化功能。

Guest软件:服务器通常运行同个guest OS的多个实例,例如在一个host同时运行5个Windows guest,而PC一般只运行一个。而在移动虚拟化中,可以会运行多个不同的guest平台:包括有应用平台(Andriod,Symbian),用于进行无线基带(modem)处理的底层的RTOS,其他特定的轻载环境(共享设备驱动,安全码)等。
  性能:和传统的虚拟化一样,移动虚拟化必须在有限的手机硬件资源上满足实时响应,实时语音和多媒体业务

用例

  • 用户在手持设备的多个虚拟环境中切换,隔离个人和企业应用和数据。
  • 可在新的手机上通过虚拟环境运行原有的软件
  • 安全:多个虚拟机互相隔离,使得安全移动支付,需要收到保护的重要的企业信息与开发的操作系统和公众软件隔离。
  • 多核支持:可休眠某个/些Core,将Guest在其他Core上运行
  • OEM和运营商可快速部署应用。

 一些问题

  • 需要关注性能。
  • 需要在每台设备中预装mobile hypervisor,但这在OEM和运营商上不是问题。

 一些新闻

  • 2010年9月,ARM宣布他将ARM Cortex A-15处理器上支持移动虚拟化扩展
  • 2011年1月,BitZer宣布他将为企业提供新的移动虚拟化解决方案
  • Vmware MVP(mobile virtualization plateform)提供解决方案
  • OKL4 Microvisor提供解决方案

相关链接:我的产业生态链和杂谈文章