论文部分内容阅读
随着智能手机的广泛普及,各种各样的娱乐办公软件在智能手机上应运而生,完善和扩展了智能手机的功能,使得人们在享受手机带来便利的同时也越来越依赖手机。正是因为智能手机在工作和生活中作为一种重要的工具存在,它的安全性也引起人们的重视。在生活中,智能手机中需要安装各种应用,使得生活更为便利,但是一些应用可能执行一些恶意操作,来获取智能手机上的数据,如果智能手机中有企业的一些重要数据,可能会泄露企业资料或者商业机密,给企业造成巨大损失。为了解决上述问题,本论文引入了虚拟化技术和微内核技术,使得同一台智能手机可以运行多个操作系统,而且多个系统之间相互隔离,从而同时满足人们对手机的生活需求与工作需求,并能有效保护企业数据安全。本学位论文主要围绕微内核技术与虚拟化技术展开,为了解决智能设备的隔离性问题,设计了基于微内核的半虚拟化技术方案来完成对Android操作系统的虚拟化,构建了一个可以同时运行多个Android的系统原型。其主要内容如下:(1)介绍嵌入式虚拟化技术,并分析虚拟化中的关键技术,充分利用虚拟化技术先天的隔离性来解决智能设备上生活环境与工作环境混淆带来的安全问题。但是智能设备性能不及服务器和桌面计算机,为了保证多个系统能流畅运行而不影响用户体验,本论文采用半虚拟化技术来减少虚拟化带来的性能开销,使得该系统在性能、隔离性和安全性方面有较好的平衡。(2)为了增强系统的健壮性,降低系统组件之间的耦合性,本论文设计了基于微内核的半虚拟化解决方案,构建了以Fiasco.OC为底层微内核,L4Re为运行环境,L4Android为客户操作系统的虚拟化系统,而且每个操作系统独立运行,相互隔离。(3)提出基于Server/Client模型的设备驱动开发方式来解决半虚拟化中的设备驱动移植问题,并以SD卡驱动移植为例说明该驱动模型的设计与实现方式,并对SD卡驱动进行了性能测试,说明采用这种驱动模型的SD卡驱动读写性能与原生Linux驱动性能相当。(4)在Pandaboard上实现了基于微内核的虚拟化原型系统,并对系统性能进行了测试,证明这种方案的可行性和有效性。