论文部分内容阅读
Android系统存在以下规定,即应用软件只能安装在“主存储器”之中,且主存储器的映射关系是固定的、不可改变的。对于中低端android手机,由于手机内部存储空间小,通常使用大容量的扩展外存(如外置SD卡)映射为主存储器来支持更多软件的安装,这意味着手机安装的外置SD卡不允许用户随意移除、更换,否则系统无法正常工作,如无法使用已有应用,无法安装新应用。针对以上问题,本文提出并设计了一种可动态切换“主存储器”映射的U盘工作机制,终端用户可通过自己的选择,决定“主存储器”映射关系。当手机安装了外置SD卡,用户可以选择外置SD卡映射为“主存储器”,保证用户在内部存储空间小的手机上有充足的应用安装空间;当外置SD卡被移除,手机将自动切换为内部存储器映射成“主存储器”,防止“主存储器”映射丢失造成的应用软件无法安装和使用。本文的研究工作包括如下几方面:1)动态映射“主存储空间”机制的分析与设计:本文首先分析了国内外对Android平台存储空间的研究现状,指出了固定主存储器映射关系会导致用户应用无法安装使用的问题,接着,结合分析Android操作系统在磁盘存储框架的原生设计,从硬件层、驱动层、文件系统、系统管理等几个层面,设计了一种可动态切换“主存储器”映射的U盘工作机制。2)动态切换机制相关开发实现工作:动态切换机制的实现涉及系统管理、文件系统、驱动程序、空间管理等几个层面。首先,手机内部存储空间以内置U盘的形式存在,调整eMMC分区表结构,增加内置U盘分区;其次,调整内核USB驱动节点,提供内置U盘和外置SD卡两块大容量存储区域的文件系统访问能力;同时,本文重构了Vold服务和Android Framework框架,将fstab分区表和storage_list磁盘管理文件动态配置,实现可动态切换“主存储器”映射功能。3)系统验证与测试:针对本功能,设计了测试用例,覆盖所有功能点,验证了本文提出的可动态切换“主存储器”映射机制可用,并通过兼容性测试和性能压力测试,保证本方案的稳定性和健壮性。本文提出的设计方案已在android4.2/leadcore L1813处理器平台上予以实现,通过对依赖于大容量主存的主流应用测试表明,本文提出的可动态切换“主存储器”映射的U盘系统在系统功能、系统性能、软件稳定性等方面表现良好。