一种安卓设备内置硬盘实现NTFS文件系统的方法及装置制造方法及图纸

技术编号:8959280 阅读:192 留言:0更新日期:2013-07-25 18:51
本发明专利技术公开一种安卓设备内置硬盘实现NTFS文件系统的方法及装置,所述方法包括:基于fuse框架编译生成支持NTFS文件系统读写的可执行文件;对所述生成的可执行文件进行源码修改;编译所述修改后的源码生成系统镜像并加载到安卓平台。该方法突破了内核程序的限制,将开发者从处理文件系统模块与系统内核之间关系的复杂任务中解脱出来,使得开发者专注于文件系统设计和实现上,降低了任务的复杂度,同时,采用NTFS文件系统进行磁盘管理,能够有效提高磁盘空间的利用率,满足在安卓平台上播放超高清视频及超大软件应用的要求。

【技术实现步骤摘要】

本专利技术涉及通讯设备应用
尤其涉及一种安卓设备内置硬盘实现NTFS文件系统的方法及装置
技术介绍
安卓(Android)系统是新一代的智能平台,越来越多的电子终端使用Android系统作为其操作系统。文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法。文件系统负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。当前Android设备内置硬盘使用的文件系统主要是FAT文件系统,该系统由于其出色的兼容性,在各种手持设备上都得到了非常成功的应用。FAT文件系统使用文件分配表进行磁盘管理,对磁盘的管理能力强,文件存储安全可靠,灵活性强。但是其有两个主要缺点:一是不支持大于4GB的单个文件的存储;二是FAT文件系统采用较大的簇进行数据存储,磁盘空间利用率低。随着高清视频技术的普及、视频文件越来越大、超大游戏及应用软件的流行,FAT文件系统在安卓平台上应用的局限性越来越大。此外,FAT文件系统都是定义在操作系统内核层面上的,如果采用其他文件系统替代FAT文件系统,如NTFS文件系统等,为了使操作系统能够识别新的文件系统,必需重写内核,操作复杂,而且内核态代码难以调试,生产率较低
技术实现思路
本专利技术所要解决的技术问题是提供一种安卓设备内置硬盘实现NTFS文件系统的方法及装置,以突破内核程序的限制,将开发者从处理文件系统模块与系统内核之间关系的复杂任务中解脱出来,同时,能够有效提高磁盘空间的利用率,且满足在安卓平台上播放超高清视频及超大软件应用。一种安卓设备内置硬盘实现NTFS文件系统的方法,所述方法包括:基于fuse框架编译生成支持NTFS文件系统读写的可执行文件;对所述生成的可执行文件进行源码修改;编译所述修改后的源码生成系统镜像并加载到安卓平台。进一步地,所述对所述生成的可执行文件进行源码修改包括,增加对NTFS文件系统操作的mount操作源码;或者,增加对NTFS文件系统操作的mount及格式化操作源码。进一步地,所述对所述生成的可执行文件进行源码修改包括,将原有对FAT文件系统操作的mount操作源码更改为NTFS系统操作的mount操作源码;或者,将原有对FAT文件系统操作的mount及格式化操作源码全部更改为NTFS系统操作的mount及格式化操作源码。进一步地,通过void进程对生成的可执行文件进行源码修改。相应地,本专利技术还公开一种安卓设备内置硬盘实现NTFS文件系统的装置,所述装置包括,编译模块,用于基于fuse框架编译生成支持NTFS文件系统读写的可执行文件;修改模块:用于对所述生成的可执行文件进行源码修改;所述编译模块还用于对所 述修改后的源码进行编译生成系统镜像;其中,所述生成的系统镜像由安卓平台进行加载。 进一步地,所述修改模块用于增加对NTFS文件系统操作的mount操作源码;或者,用于增加对NTFS文件系统操作的mount及格式化操作源码。进一步地,所述修改模块用于将原有对FAT文件系统操作的mount操作源码更改为NTFS系统操作的mount操作源码;或者,用于将原有对FAT文件系统操作的mount及格式化操作源码全部更改为NTFS系统操作的mount及格式化操作源码。进一步地,所述修改模块通过void进程对生成的可执行文件进行源码修改。本专利技术的技术方案,基于fuse框架实现用户态NTFS文件系统,突破了内核程序的限制,使得开发者只需要关注fuse的接口定义,在不需要了解fuse的内部机制的情况下也可开发用户级应用的文件系统,减少了开发的工作量,降低了任务的复杂度,提高了程序的稳定性,相对传统内核及文件系统,具有更好的灵活性和扩展性,更便于备份和迁移。附图说明图1为本专利技术实施例所述fuse工作过程示意图;图2为本专利技术第一实施例提供的安卓设备内置硬盘实现NTFS文件系统的方法流程图;图3为本专利技术第二实施例提供的安卓设备内置硬盘实现NTFS文件系统的方法流程图;图4为void进程框图;图5为本专利技术第三实施例提供的安卓设备内置硬盘实现NTFS文件系统的装置结构框图。具体实施例方式下面结合附图和实施例对本专利技术作进一步的详细说明。此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。Fuse (Filesystem in Userspace,用户空间文件系统)提供一个完整的接口让用户可以轻松的创建一个属于自己的用户级文件系统。图1为本专利技术实施例所述fuse工作过程示意图。如图1所示,Fuse由一个内核模块(fuse, ko), —个用户级函数(libfuse.*)以及一套文件系统加载机制(mount工具)组成。内核模块仅仅提供内核的接入口,给了文件系统一个框架,由文件系统本身的主要实现代码位于用户空间中。开发者通过实现fuse提供的两组接口 fuse_lowlevel_ops, fuse_operations之一即可实现一个用户空间文件系统。用户级函数库给用户提供了编程的接口,具体实现操作有开发者在用户空间实现。文件系统加载机制用于挂载用户编写的文件系统。Fuse工作过程如下:使用fuse框架实现的hello实例程序被调用,用户级文件系统被挂载到当前系统中,挂载点为/tmp/fuse。当用户执行ls-1/tmp/fuse命令时,VFS相关接口函数被调用,并交给fuse内核模块处理。内核模块通过一种映射机制,调用hello文件系统相关函数来处理相应请求。Fuse是建议在VFS机制之上的,它与Ext2、Ext3等实际的文件系统处于同一个层面上,区别于这些实际的文件系统,Fuse将来自于VFS的请求,转换到用户级函数来处理。使用Fuse开发文件系统,开发者不需要与VFS打交道,不需要了解Linux文件系统的架构、文件系统内核模块开发的流程以及相关的背景知识。图2为本专利技术第一实施例提供的安卓设备内置硬盘实现NTFS文件系统的方法流程图。如图2所示,所述流程包括:步骤201:配置android设备软件编译环境。步骤202:在Iinux内核中启用fuse。android 内核本身就是Iinux内核的一个子集,Iinux内核本身对FAT是完全支持的。用户空间文件系统(File system in Userspace,简称fuse)是操作系统中的概念,指完全在用户态实现的文件系统。Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs 和 luster 使用 fuse 实现。Linux用于支持用户空间文件系统的内核模块名叫fuse, fuse是一个通用操作系统重要的组成部分。Linux从2.6.14版本开始通过fuse模块支持在用户空间实现文件系统。用户空间编程可以选择多种语言实现,如c++,java等,还可以复制自己的库。在用户空间实现文件系统能够大幅提高生产率,简化了为操作系统提供新的文件系统的工作量,特别适用于各种虚拟文件系统和网络文件系统。步骤203:编译生成支持NTFS文件系统的读写的可执行文件。本实施例中,fuse使用fuse_operations来给用于提供编程结构,让用户通过注册自己编写的函数到给结构体来实现自己的文件系统。所述文件是一个通过模块编译的二进制文件,NT本文档来自技高网...

【技术保护点】
一种安卓设备内置硬盘实现NTFS文件系统的方法,其特征在于,所述方法包括:基于fuse框架编译生成支持NTFS文件系统读写的可执行文件;对所述生成的可执行文件进行源码修改;编译所述修改后的源码生成系统镜像并加载到安卓平台。

【技术特征摘要】
1.一种安卓设备内置硬盘实现NTFS文件系统的方法,其特征在于,所述方法包括: 基于fuse框架编译生成支持NTFS文件系统读写的可执行文件; 对所述生成的可执行文件进行源码修改; 编译所述修改后的源码生成系统镜像并加载到安卓平台。2.根据权利要求1所述的安卓设备内置硬盘实现NTFS文件系统的方法,其特征在于,所述对所述生成的可执行文件进行源码修改包括, 增加对NTFS文件系统操作的mount操作源码; 或者,增加对NTFS文件系统操作的mount及格式化操作源码。3.根据权利要求1所述的安卓设备内置硬盘实现NTFS文件系统的方法,其特征在于,所述对所述生成的可执行文件进行源码修改包括, 将原有对FAT文件系统操作的mount操作源码更改为NTFS系统操作的mount操作源码; 或者,将原有对FAT文件系统操作的mount及格式化操作源码全部更改为NTFS系统操作的mount及格式化操作源码。4.根据权利要求1至3之一所述的安卓设备内置硬盘实现NTFS文件系统的方法,其特征在于,通过void进程对生成的可执行文件进行源码修改。5.一种安卓设备...

【专利技术属性】
技术研发人员:蒋世民陈仔俊卓世杰
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1