登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 计算机类 > 物联网工程 > 正文

Cells:一个虚拟的移动智能手机架构外文翻译资料

 2022-07-21 15:47:21  

英语原文共 15 页,剩余内容已隐藏,支付完成后下载完整资料


Cells:一个虚拟的移动智能手机架构

Cells : A Virtual Mobile Smartphone Architecture

摘要(ABSTRACT)

智能手机越来越普及,甚至许多用户会随身携带多部手机以适应工作、个人和地域流动的需要。我们提出了Cells,一个虚拟化架构,允许在同一个实体手机以隔离、安全的方式同时运行多个虚拟智能手机。Cells使用的模型包含一个前台的虚拟手机和多个后台的虚拟手机。这种模型允许新的设备名称空间机制与新颖的设备代理,整合了轻量级作业系统虚拟化来多工手机硬件给多个虚拟手机,以提供原生硬件设备的性能。Cells虚拟手机功能包含全面3D图形加速、完整的电源管理功能、与单独分配的电话号码和来电者ID,来支持完整电话功能。我们已经在相同手机上实现了Cells原型,并支持多种Android虚拟手机。我们的性能测试结果显示,Cells规范了适度的运行时间和记忆体开销,可以无缝地在多个硬件设备,包括Google Nexus 1、Nexus S手机,以原始速度来透明的运行Android应用程序。

1. 介绍(INTRODUCTION)

用户日常计算需求的首选平台,正在从传统的桌上型和笔记型电脑移向移动智能手机和平板设备[4]。对于那些依赖着他们的电话、简讯、电子邮件、网页浏览、联系人和日历管理、新闻、以及具体位置信息的专业人士们,智能手机正成为一个日益重要的工作工具。像是播放音乐、电影和游戏等的这些相同功能,也使得智能手机成为一个有用的个人工具。事实上,用户可以透过各种线上应用程序商店来下载数以千万计的智能手机应用程序。下载新软件的容易性会对用户造成风险,像是恶意软件可以很容易地存取敏感资料与破坏风险,甚至将其泄漏给第三者[35]。基于这个原因,给予员工在工作使用的智能手机经常被锁上,导致许多用户需要携带单独的工作和个人电话。应用程序开发人员也会带着其他手机作为开发用途,以避免不正常行为的应用程序破坏他们的主要电话。当小孩玩父母的智能手机,而造成意料之外的通电或无意的应用程序购买费用时,父母们通常会希望他们能有更多的手机。

虚拟机(VM)的机制在过去已经被提出,它允许隔离的两个相同且在都ARM硬件运行的智能手机软件堆叠[2、5、13、22]。这些方法需要大量的修改用户和内核级别的软件堆叠。在所有情况之下,使用半虚拟化是因为ARM是不能被虚拟化的,以及所提出的ARM虚拟化扩充技术尚未提供在硬件上。虽然虚拟机可用于桌上型和服务器计算机,但将这些硬件虚拟化技术应用到智能手机,仍有两个重要的缺点。1.智能手机有着更多的资源限制,在虚拟机上运行的整个额外的作业系统(作业系统)和用户空间环境,会导致大量的成本与可运行实例数量的限制。相较于桌上型电脑,在智能手机系统中回应缓慢是难以接受的,因为智能手机通常仅用于短短几分钟甚至几秒钟的时间。2.智能手机采用了大量的设备,来给应用程序使用,例如GPS、数位相机和GPU(图形处理器)。现有的方法无法提供有效的机制,来使得应用程序可以直接充分的利用虚拟机中的这些硬件设备功能,严重的限制了系统的整体性能,使得现有的方法无法利用在智能手机上。

我们提出了Cells,一个新的轻量级的虚拟化架构,允许在相同的高性能智能手机上同时运行多个虚拟手机(VPS)。Cells并不需要运行多个作业系统实例。它采用轻量级作业系统虚拟化来提供虚拟的名称空间,使得多个虚拟机可以在单一的作业系统实例上运行。Cells可以隔离虚拟机,并确保在某虚拟机上运行的错误或恶意的应用程序不会对其他虚拟机产生不利的影响。Cells提供了一种新的档案系统配置,以结合的方式来最大限度地分享虚拟机间的共同唯读程序码和资料,以及最小限度地来消耗记忆体,并且使得其他被实例化的虚拟机没有太多的开销。

Cells利用智能手机上小屏幕的优点,即同时只显示一个应用程序,介绍了一种使用模型,包含一个目前显示中的前台虚拟机以及同时未显示的多个后台虚拟机。这个简单但功能强大的模型,使得Cells提供了新的内核级和用户级设备名称空间机制,来有效的多工硬件装置给多个虚拟机,包含专用或不透明的硬件(例如基频处理器),并同时维持本机的硬件性能。前台的虚拟机总是可以直接存取硬件设备。当前台虚拟机不要求独占存取共享硬件设备时,后台虚拟机才得以存取共享硬件设备。前台虚拟机始终运行可见的应用程序,并且这些应用程序可以充分的利用任何可用的硬件功能,例如图形硬件加速器。由于前台应用程序可以直接存取硬件,它们的执行速度当然是他们的本机运行速度。

Cells使用VoIP服务为每个虚拟机提供各自的电话号码,而不需要使用多张SIM卡。电话的传入和传出是使用cellular network而非VoIP,并在需要时路由通过VoIP服务,这可以根据每个虚拟机需求来提供电话传入和传出者的ID功能。Cells使用VoIP服务和cellular network的组合,允许用户拨打和接听电话等标准的手机服务,同时也保持着每个虚拟机的电话号码和来电显示功能。

我们已经实现了Cells原型,可以在相同行动装置上同时支持多个虚拟Android手机。每个虚拟机可以被配置成相同的或与其他虚拟机完全不同的虚拟机。Cells原型已经被测试能够运行多个Android版本,包括最近的开源版本,即2.3.4版。Cells能够无缝的跨越多种硬件设备,包括Google Nexus 1和的Nexus S手机。我们的实验结果显示,在Nexus 1和的Nexus S手机上运行5个虚拟机,可以证明Cells几乎没有造成运行时的开销,只有花费少量的记忆体。相较于VM-based的方法,Cells可以在同一硬件上扩展支持更多的电话实例。Cells是第一个能以原生性能完全支持可用的硬件设备,包括GPU(图形处理器)、感应器、摄影镜头、触碰屏幕,并且能透明地在虚拟机上运行所有的Android应用程序而无需做任何修改。

2.使用模式(USAGE MODEL)

Cells能在单一硬件上运行多个虚拟机。每个虚拟机运行一个标准的Android环境并且能够拨打电话、运行未经修改的Android应用程序、使用数据连接、通过触碰屏幕与用户进行互动、使用加速器,以及一般用户可以在硬件上做的其他的一切行为。每个虚拟机和其他虚拟机之间是完全隔离的,并且不能查看、篡改、或以其他的方式存取任何其它的虚拟机。

在于有限的屏幕尺寸以及智能手机的使用方式,Cells只允许一个可以随时显示的前台虚拟机。我们参阅其他不显示但正在运行的所有虚拟机,例如后台虚拟机。后台虚拟机仍然在后台系统上运行,并能够接收系统事件和执行任务,但不显示内容到屏幕上。用户可以很轻易地在虚拟机之间做切换,通过从后台虚拟机中挑选一个虚拟机作为为前台虚拟机。可以通过自定义的组合按键来循环切换运行中的虚拟机,或通过上划和下划虚拟机的主屏幕。每个虚拟机也可以启动一个应用程序来查看可用的虚拟机清单,并将之任意的切换成前台虚拟机。该系统可以因为某事件而强制一个新的虚拟机成为前台虚拟机,例如有电话或简讯传入。出于安全性和便利性的考虑,也可以设置一个非自动开关,以防止后台虚拟机在没有明确的用户操作下被切换到前台去,以防止输入焦点或设备资料被窃取。也可以启用一个自动锁,来强迫用户从后台虚拟机切换到前台虚拟机时,必须使用密码或手势转换来解锁。

虚拟机的创建和配置是在电脑上然后通过USB下载到手机中。虚拟机可以被用户删除,但虚拟机的配置则是由密码所保护着,而且只能从PC上给予适当的凭据后才可以修改。例如,用户可以创建一台虚拟机,并决定在以后更改各种选项,像是如何执行虚拟机以及如何存取设备。另一方面,IT管理员也可以创建虚拟机来让用户可以下载或删除他们手机上的虚拟机,但还是不能由用户自行配置。这个功能对于要发放虚拟机锁的公司来说是非常有用的。

每个虚拟机对于不同的设备可以被配置成不同的存取权限。对于每个设备,一个虚拟机可以被配置成无存取权限、共享存取、或独占存取。某些设置可能无法使用于某些设备,例如共享存取不适用于framebuffer,因为在任何时候只有一个虚拟机可以用来做显示。每个设备存取权限的设置提供了一个高度灵活的安全模型,并可以用来容纳广泛的安全政策。

无存取权限代表在虚拟机上运行的应用程序无法在任意时刻存取指定的设备。例如,即使任何用户允许应用程序跟踪位置的请求,没有存取GPS感应器权限的虚拟机将永远无法追踪位置。因位用户经常会默许这种侵犯隐私的行为,如果不同意这种也许没必要的信息,应用程序则可能会无法正常工作。通过使用无存取权限的选项,Cells可以使IT管理员能够创建多个虚拟机,使得允许用户安装和运行这些应用程序,而且还不损害个人隐私。

共享存取意思是,当一个给定的虚拟机在前台运行时,其他后台的虚拟机也可以同时存取设备。例如,前台虚拟机在存取有共享存取权限的音讯设备时,可以允许后台虚拟机也共享存取用来播放音乐。

独占存取意味着,当一个给定的虚拟机在前台运行时,其他后台虚拟机将不被允许存取该设备。例如,前台虚拟机独占存取麦克风时,就不会允许后台虚拟机来使用,以避免后台虚拟机执行的应用程序窃听或泄漏信息。为了支持安全的虚拟机,这种功能是必不可少的。独占存取可以和无自动开关做结合,以确保该事件不会触发后台虚拟机移动到前台,以避免成为其他虚拟机获得独占设备存取的手段。

除了设备的存取权限,Cells利用现有的作业系统虚拟化技术,以防止一台虚拟机利用权限提升攻击来影响整个设备。用户凭证和程序ID对于虚拟机是隔离的,某一虚拟机上的超级用户与其他虚拟机上的超级用户彼此之间无关。

3. 系统架构(SYSTEM ARCHITECTURE)

图1提供了Cells的系统架构概观。我们描述的Cells是使用Android系统,因为我们的原型是基于此的。每个虚拟机运行原生Android的用户名称环境。Cells利用轻量级的作业系统虚拟化[3,23]来将虚拟机间彼此隔离。Cells对于所有的虚拟机使用单一的作业系统内核,来虚拟化标示、内核的界面和硬件资源等,使得多个执行环境可以在虚拟作业系统中并存。每个虚拟机拥有自己的私有虚拟名称空间,使得虚拟机们得以在各自的名称空间同时运行相同的作业系统资源,并且相互隔离但彼此不冲突。这是通过将作业系统资源符透明的重新映射,来虚拟一个被每个虚拟机中程序所使用的资源。档案系统路径、程序标识符(PID)、IPC标识符、网络界面名称和用户名称(UID)都必须进行虚拟化来防止冲突,并确保在一个虚拟机中运行的程序看不到其他虚拟机的程序。包括Android所使用的版本,Linux内核通过使用名称空间来提供这些标识符号的虚拟化[3]。例如:档案系统(FS)是利用挂载的名称空间来虚拟化的,允许不同独立视角的档案系统,并提供虚拟机间互相隔离的私人档案系统[16]。

图一:Cells结构概述

但是,利用基本的作业系统虚拟化来运行一个完整的智能手机用户空间环境并不是个有效的方法。虚拟化机制在过去主要是用在设备比较少的服务器环境上,例如网路和储存装置这种已经可以被商用作业系统(例如Linux)虚拟化。智能手机的应用程序,期望能够与大量的硬件设备互动,其中包括许多在实体上被设计成不可多工的设备。对于这些设备,作业系统设备的虚拟化支持是不存在的。对于Android而言,至少需要充分的支持表1中所列出的设备,包括Android环境特有的硬件设备和伪设备。这些辅助设备必须满足三个条件:(1)支持独占或虚拟机的共享存取,(2)不在虚拟机间泄漏敏感信息,(3)防止恶意应用程序干扰其他正在使用设备的虚拟机。

Cells可以满足这三项要求,并且通常能与专用的智能手机生态紧密的作结合。Cells通过整合新颖的内核级和用户级的设备虚拟化方法,以提供一个完整的虚拟智能手机作业系统环境。内核级机制提供了透明性和性能。用户级的机制则是在用户空间环境提供了界面来进行虚拟化,用来提供可携性和透明性。对于有着完全封闭软件堆叠的专有设备,用户级的虚拟化是必要的。

设备

描述

警报*

基于RTC的警报

音频

音频I / O(扬声器,麦克风)

Binder*

IPC框架

蓝牙

短程通信

相机

视频和静止帧输入

帧缓冲区

显示输出

GPU

图形处理单元

输入

触摸屏和按键输入

LED指示灯

背光和LED指示灯

记录仪*

轻量级RAM日志驱动器

LMK*

低内存杀手

网络

Wi-Fi和蜂窝数据

PMEM*

连续的物理内存

电源

全文共20056字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[154923],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图