摘要
虚拟机、兼容层和指令模拟等技术能够使针对某一操作系统或处理器平台所构建的应用程序在另一操作系统中运行,而Android系统作为近年来发展起来的一个十分重要的操作系统,目前有关在其中部署这些技术的研究仍然较少。针对Android生态系统中仍缺乏专业领域软件以及某些涉及隐私和安全的应用无可信任的开源实现等问题,本课题旨在提出一套框架,使使用x86指令的Windows程序可以不经任何修改便可在基于ARM平台的Android系统中高效地运行。在该框架中,将借助QEMU虚拟机所提供的动态二进制翻译技术实现了在ARM处理器平台上运行x86指令程序。同时,Win32 API调用通过Wine这一兼容层被转换为Linux系统中基本库函数的调用,从而避免了对整个操作系统的虚拟。各应用程序通过X协议与显示服务进程通信,由显示服务进程在虚拟framebuffer中完成图形界面的渲染,并通过VNC协议实现与Android系统图形栈的适配。实验结果表明,该框架在内存占用、启动时间和性能等方面均明显优于基于虚拟机的系统级虚拟化方案,是Android系统中虚拟Win32环境的一种高性能实现。