Computer Engineering and Applications ›› 2017, Vol. 53 ›› Issue (14): 32-38.DOI: 10.3778/j.issn.1002-8331.1703-0314

Previous Articles     Next Articles

Implementation of OS-level virtualization technology for Android on mobile platform

LIU Bowen1,2,3, GU Naijie1,2,3, GU Dehe1,2,3, SU Junjie1,2,3   

  1. 1.School of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China
    2.Anhui Province Key Laboratory of Computing and Communication Software, University of Science and Technology of China, Hefei 230027, China
    3.Institute of Advanced Technology, University of Science and Technology of China, Hefei 230027, China
  • Online:2017-07-15 Published:2017-08-01

移动平台Android操作系统虚拟化技术的实现

刘博文1,2,3,顾乃杰1,2,3,谷德贺1,2,3,苏俊杰1,2,3   

  1. 1.中国科学技术大学 计算机科学与技术学院,合肥 230027
    2.中国科学技术大学 安徽省计算与通信软件重点实验室,合肥 230027
    3.中国科学技术大学 先进技术研究院,合肥 230027

Abstract: The virtualization technology research is gradually moving from the server area to the field of mobile intelligent devices. The existing virtualization architecture requires a large number of instruction translations between the physical hardware layer and the virtual machine, which is of high cost and low efficiency. In order to solve this problem, it proposes a lightweight mobile operating system level virtualization architecture. It is based on the Linux kernel namespace mechanism to expand the driver namespace framework to achieve multiple virtual Android systems running simultaneously. In addition, the universal active-inactive model is designed to ensure the isolation and multiplexing of the hardware devices among virtual systems in order to solve the conflict produced when multiple virtual Android systems have access to a set of hardware devices simultaneously. Experimental results show that the virtual Android systems do not increase the overhead in the CPU utilization while the memory usage decreased by 6.7%, which proves that this virtualization architecture has a high versatility and practicality.

Key words: Operating System(OS)-level virtualization, Android system, namespace mechanism, hardware isolation and multiplexing

摘要: 虚拟化技术的研究正逐渐从服务器端转向移动智能设备领域。现有的虚拟化架构需要在物理硬件层和虚拟系统间进行大量的指令翻译,开销大,效率低。针对这一问题,提出了一种轻量级的移动操作系统虚拟化架构。通过在Linux内核命名空间机制的基础上扩展Driver命名空间框架,实现了多个虚拟Android系统的同时运行。此外,针对多个虚拟系统同时访问一套硬件设备发生冲突的问题,设计了通用的active-inactive模型来保证虚拟系统间对硬件设备的隔离复用。实验结果表明,虚拟后的Android系统在CPU使用率上并没有增加额外的开销,在内存使用量上减少了6.7%,此虚拟化架构具有很好的通用性与实用性。

关键词: 操作系统虚拟化, Android系统, 命名空间机制, 硬件隔离复用