论文部分内容阅读
随着智能终端的迅速发展,智能手机已成为广大用户不可或缺的通讯设备。近几年,智能手机用户量迅猛增长,随之而来的是用户的短信、通话记录、照片、甚至是隐私文件被存储在了手机中,因此,手机对用户信息的保护问题不容忽视。Google开发团队从系统层面去提高安全性做出了大量的努力,比如,对系统设置了root权限和普通权限;其次,实现了Android系统多用户功能;还有,对用户进行身份认证,通过密码或者指纹识别的方式进行身份验证,防止非本机用户进入系统,窃取用户信息对系统进行。但是这并没有解决智能终端的安全问题,当用户浏览网页信息时,手机经常出现被病毒感染,用户信息被更改、盗取的情况。因此,很多企业要求员工随身携带两部手机,一部用作工作用机,一部作为生活用机,以确保公司机密安全。本论文采用容器(Container)技术实现Android系统虚拟化。实现在一个平台上运行一个原生Android系统和一个精简版的Android系统。并在此基础上实现Input设备和Sensor设备以及其他设备复用技术,为在同一个内核上运行两个Android OS提供支持。两个系统之间,应用,数据等相关存储信息隔离,不同系统之间相互独立、互不影响。在双OS系统中,一个系统作为生活系统,另一个作为工作系统,根据工作场景,对工作系统进行定制。这样,企业用户避免了随身携带多部手机的资源浪费情况,同时,当生活用机被攻击,感染病毒时,工作用机还能正常使用,降低了公司信息被盗取的可能性,提高了整个系统的安全性。另外,为解决双Android启动耗时问题,本论文通过裁剪和采用分布式检查点工具为系统创建还原点这这两种方式实现双Android系统快速启动,缩短系统启动时长,提高系统的启动速度。最后,对双Android5.0.1系统的创建、启动、切换等操作以及Sensor设备和Input设备复用的实现在Linux Kernel3.4版本和nubia Z7平台上进行测试,可以看到,两个系统互相独立的运行在nubia Z7平台上,而对于系统的ROM和RAM开销,并不是成倍增加。从第六章的快速启动测试可以看出,运用分布式检查点工具和裁剪的方式均能使双系统的启动速度得到提高。