Android虚拟机加载方法及装置制造方法及图纸

技术编号:10790777 阅读:138 留言:0更新日期:2014-12-17 19:51
一种Android虚拟机加载方法,包括:加载层级引导对象;通过所述层级引导对象加载虚拟机管理对象;通过所述虚拟机管理对象读取虚拟机配置;根据所述虚拟机配置调用所述虚拟机管理对象的虚拟机创建函数创建虚拟机运行实例。此外,还提供了一种Android虚拟机加载装置。上述Android虚拟机加载方法及装置能够提高虚拟机运行实例之间的切换速度。

【技术实现步骤摘要】
【专利摘要】一种Android虚拟机加载方法,包括:加载层级引导对象;通过所述层级引导对象加载虚拟机管理对象;通过所述虚拟机管理对象读取虚拟机配置;根据所述虚拟机配置调用所述虚拟机管理对象的虚拟机创建函数创建虚拟机运行实例。此夕卜,还提供了一种Android虚拟机加载装置。上述Android虚拟机加载方法及装置能够提高虚拟机运行实例之间的切换速度。【专利说明】Android虚拟机加载方法及装置
本专利技术涉及移动互联网
,特别是涉及一种Android虚拟机加载方法及装 置。
技术介绍
目前Android移动设备上的安全问题越来越多,无论是病毒还是系统漏洞都一直 不断地在出现,而Android设备上的应用却越来越多,越来越重要,比如:移动支付,手机证 券等等。而目前的安全软件能提供的保护相当有限,因此用户非常希望有一个绝对干净安 全的环境来完成他重要的操作。 要提供这样一个干净安全的环境,虚拟化或多操作系统显然是个比较好的解决方 案。 然而,专利技术人经分析发现,传统技术中至少存在以下问题:现有技术中的Android 虚拟化方法为安装多个版本的操作系统,每个操作系统作为独立的虚拟机加载运行,若需 要在虚拟机之间切换时,只能通过重启后重新选择虚拟机来启动,也就是说,是一种冷切换 的方式,从而使得虚拟机之间的切换速度较慢。
技术实现思路
基于此,有必要提供一种能提高虚拟机之间的切换速度的Android虚拟机加载方 法。 一种Android虚拟机加载方法,包括: 加载层级引导对象; 通过所述层级引导对象加载虚拟机管理对象; 通过所述虚拟机管理对象读取虚拟机配置; 根据所述虚拟机配置调用所述虚拟机管理对象的虚拟机创建函数创建虚拟机运 行实例。 此外,还有必要提供一种能提高虚拟机之间的切换速度的Android虚拟机加载装 置。 一种Android虚拟机加载装置,包括: 引导对象加载模块,用于加载层级引导对象; 管理对象加载模块,用于通过所述层级引导对象加载虚拟机管理对象; 配置读取模块,用于通过所述虚拟机管理对象读取虚拟机配置; 虚拟机初始化模块,用于根据所述虚拟机配置调用所述虚拟机管理对象的虚拟机 创建函数创建虚拟机运行实例。 上述Android虚拟机加载方法及装置,由层级引导对象引导记载虚拟机管理对 象,然后由虚拟机管理对象加载多个虚拟机运行实例,使得在虚拟机运行实例之间进行切 换时,可通过虚拟机管理对象在其加载的多个虚拟机运行实例之间进行切换,而不需要重 启Android设备,重新在Bootloader引导时选择相应的虚拟机进行加载,使得虚拟机运行 实例之间的切换为热切换,从而提高了切换速度。 【专利附图】【附图说明】 图1为一个实施例中Android虚拟机加载方法的流程图; 图2为一个实施例中Android系统层级架构示意图; 图3为一个实施例中基于Bootloader层引导的虚拟机层级架构示意图; 图4为一个实施例中基于Linux kernel层引导的虚拟机层级架构示意图; 图5为一个实施例中Android虚拟机加载装置的结构示意图; 图6为另一个实施例中Android虚拟机加载装置的结构示意图; 图7为另一个实施例中Android虚拟机加载装置的结构示意图。 【具体实施方式】 在一个实施例中,如图1所示,一种Android虚拟机加载方法,该方法完全依赖于 计算机程序,该计算机程序可运行于基于Android系统的移动设备上,例如Android智能手 机、Android平板电脑、Android智能眼镜等。 如图2所示,Android系统为多层结构,自下而上依次包括:Bootloader层、Linux Kernel 层、Android Runtime 层、Application Framework 层和 Application 层。 其中,Bootloader层为引导层,用于初始化硬件设备、建立内存空间映射表,将系 统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。 Linux Kernel层即为Linux Kernel实例,为运行于Android操作系统底层的用于 将代码解析成机器语言的Linux层内核,其中包含硬件设备的驱动程序,例如摄像头驱动、 蓝牙适配器驱动、触摸屏驱动和USB驱动等。 Andro i d Runt ime层用于解释执行Andro i d代码的Andro id层内核,且包含有 Android系统函数运行库,例如WebKit库、SSL库和SQLite库等。 Application Framework层为应用程序框架层,用于控制上层应用的加载、运行 和注销,并为上层应用提供多种服务。例如Location Manager组件、XMPPService组件和 Activity Manager 组件等。 Application层即为应用软件层,为具体的应用程序,例如手机浏览器、微信和联 系人管理应用等。 在本实施例中,该方法包括以下步骤: 步骤S102,加载层级引导对象。 层级引导对象即用于加载Android操作系统内核的程序运行单元。 在本实施例中,层级引导对象可以是Bootloader层对象,如前所述Bootloader层 对象可用于加载Linux层内核。也就是说,在Linux Kernel层实现虚拟,由Bootloader层 对象引导创建多个Linux Kernel层的虚拟机运行实例。 在本实施例中,Android设备基于ARM处理器,在其嵌入式系统中,BootLoader程 序通常占据在嵌入式系统的内存地址的0x00000000处,Android设备在上电或复位时均从 该地址0x00000000处开始执行,从而加载层级引导对象。 步骤S104,通过层级引导对象加载虚拟机管理对象。 虚拟机管理对象为用于创建、配置和注销虚拟机运行实例的程序单元。在本实施 例中,可通过Boot loader层对象加载虚拟机管理对象对应的程序单元。 步骤S106,通过虚拟机管理对象读取虚拟机配置。 虚拟机配置即需要加载的虚拟机运行实例的配置文件,可包括虚拟机的个数、虚 拟机标识、虚拟机运行实例对应的程序文件的文件清单以及对应的存储位置。 在本实施例中,虚拟机配置还包括与虚拟机运行实例对应的处理器状态寄存器指 令集(PSR,Processor state Register)。在通过虚拟机管理对象读取处理器状态寄存器指 令集后,还可通过调用虚拟机管理对象的指令编码函数对PSR指令集进行编码。 在本实施例中,由于需要对每个虚拟机运行实例提供不同的处理器运行状态,而 访问处理器状态寄存器(CPSR)的指令是固定的:比如MRS、MSR、ADDS等,因此,在本实施例 中,可通过对与虚拟机运行实例对应的PSR指令集进行编码实现不同虚拟机运行实例具有 各自的处理器运行状态。 例如,可将与虚拟机运行实例对应的PSR指令集替换为swi XXX,XXX为各个指令 的重新编码,比如MRS指令可编本文档来自技高网...

【技术保护点】
一种Android虚拟机加载方法,包括:加载层级引导对象;通过所述层级引导对象加载虚拟机管理对象;通过所述虚拟机管理对象读取虚拟机配置;根据所述虚拟机配置调用所述虚拟机管理对象的虚拟机创建函数创建虚拟机运行实例。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈树华戴云峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1