论文部分内容阅读
Android操作系统是一个由Google和开放手机联盟共同研发的针对移动设备的操作系统。复杂的架构、公开的源代码、开放的平台及它提供的强大的开发环境和工具等特点,为开发人员和用户提供了极大的便利,也使Android在移动终端市场上取得了巨大的成功。但同时它的复杂的架构也带来一个巨大的问题,即Android设备开机时间平均在45s以上,漫长的开机时间严重影响了用户的体验。国内外的研究学者和公司提出和实现了一些解决Android开机时间长这一问题的方案。这些方案中,基于Linux Suspend/Resume技术的Android快速启动方案在理论上和实际效果上都体现了明显的优势。该方案虽然缩短了Android的开机时间,但由于每次恢复系统状态用的都是同一个镜像因此引入了系统不一致问题。系统不一致问题给使用系统的用户带来了极大的不便,同时也不利于Android的进一步推广。论文在当前的快速启动技术基础上,研究和实现了如何缩短Android开机时间并保证系统的一致性。针对当前快速启动技术带来的系统不一致问题,论文分别从Linux层和Android层来解决。Linux层要解决的是文件系统的不一致问题,文件系统包括虚拟文件系统(VFS)、底层物理文件系统,论文中的底层物理文件系统是Yaffs2;Android层要解决的问题则是系统服务和应用程序的不一致性。论文首先介绍了快速启动技术的相关理论基础,包括Suspend/Resume技术、Android框架,详细的分析了Android的启动流程;然后分析了基于Suspend/Resume的快速启动技术产生系统不一致问题的原因,并且详细的分析了文件系统不一致问题和Android服务应用不一致问题;在对系统不一致问题分析的基础上,从文件系统、Android服务和应用两个方面提出并实现了具体的解决方案;最后,对该设计方案进行了科学地测试和验证。常规启动模式下,设备的开机时间至少需要45秒;快速启动模式下,设备只需23秒就实现了开机,开机时间相应地缩短了50%,同时不会延长关机时间,而且系统的一致性和稳定性得到了保证。所以,基于Android快速启动技术系统一致性的方案实现了快速启动和保证系统一致性的目标。