一种fat文件系统的预分配文件建立方法及系统的制作方法

文档序号:8339718阅读:673来源:国知局
一种fat文件系统的预分配文件建立方法及系统的制作方法
【技术领域】
[0001] 本发明涉及文件系统领域,尤其涉及一种FAT文件系统的预分配文件建立方法及 系统。
【背景技术】
[0002] 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的 固态硬盘)或分区上的文件的方法和数据结构,其作为操作系统与驱动器之间的接口,当操 作系统请求从硬盘里读取一个文件时,会请求相应的文件系统打开文件,扇区是磁盘最小 的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相 邻的扇区组合在一起,形成一个簇,然后再对簇进行管理,每个簇可以包括2、4、8、16、32或 64个扇区,簇是操作系统所使用的逻辑概念。常见的文件系统包括FAT、NTFS、EXT2/3等, FAT文件系统以其兼容性好、简单易用等优点而得到广泛应用,已经越来越多的嵌入式存储 设备以FAT作为其文件系统。现有磁盘比较多的是机械硬盘,。当文件是连续的或则连续 操作的文件是相邻的,磁头移动的距离短,读写速度快,效率高,当文件不连续时,磁头移动 距离较大,读写速度慢且使用效率低下,影响硬盘的使用效率。
[0003] 为保证磁盘文件系统关键信息区的不可变更性,如FAT文件系统的引导区、FAT表 和目录项,就需要在文件格式化时预先在磁盘上建立起已知文件(预留文件),从而保证文 件系统关键信息区的稳定可靠,但直接使用FAT文件系统提供的文件建立和扩展接口来实 现的话,会出现文件目录项的不连续,而不连续的文件目录项会使得文件在读写时磁头的 移动距离变大,使得文件读写速度变慢,导致文件建立耗时长,且使用效率低下,影响磁盘 的使用寿命。

【发明内容】

[0004] 本发明要解决的技术问题之一,在于提供一种FAT文件系统的预分配文件建立方 法,保证了数据的连续性以及FAT链表的连续性,提高磁盘读写效率。
[0005] 本发明要解决的技术问题之一是这样实现的:一种FAT文件系统的预分配文件建 立方法,包括如下步骤: 步骤10、在LINUX系统下,以设备文件的形式打开磁盘分区,读取保留区中操作系统引 导记录区,获取磁盘分区信息; 步骤20、根据待建立文件总个数确定根目录所占用的簇数,并根据根目录所占用的簇 数在FAT表中建立根目录的簇链关系; 步骤30、根据每一类文件中每个文件所占用的簇数,在内存中建立完一类文件中每个 文件的簇链关系后将该类文件的簇链关系更新到磁盘的FAT表中; 步骤40、采用短文件名格式组织各文件目录项的字段,在内存建立完一类文件的所有 目录项后将该类文件的所有目录项一次性写入磁盘中; 步骤50、将保留区中分区剩余簇数修改为0,同时对FAT表中未使用的簇进行填充,完 成文件建立。
[0006] 进一步的,所述步骤10中磁盘分区信息包括扇区字节数、每簇扇区数、总扇区数、 FAT表个数、保留扇区数和FAT表大小。
[0007] 进一步的,每所述文件目录项占用32个字节。
[0008] 进一步的,所述步骤40进一步包括: 步骤41、采用短文件名格式组织各文件目录项的字段,所述字段包括文件名、本文件的 起始簇号、文件生成日期、文件的读写属性和文件长度; 步骤42、根据文件类型在内存中建立同一类文件的所有目录项后,一次性把同一类文 件的所有目录项写入磁盘中。
[0009] 本发明要解决的技术问题之二,在于提供一种FAT文件系统的预分配文件建立系 统,保证了数据的连续性以及FAT链表的连续性,提高磁盘读写效率。
[0010] 本发明要解决的技术问题之二是这样实现的:一种FAT文件系统的预分配文件建 立系统,包括文件系统信息获取模块、根目录簇链建立模块、类文件簇链建立模块、类文件 目录组织和建立模块以及空闲扇区数回写模块; 文件系统信息获取模块:用于在LINUX系统下,以设备文件的形式打开磁盘分区,读取 保留区中操作系统引导记录区,获取磁盘分区信息; 根目录簇链建立模块:用于根据待建立文件总个数确定根目录所占用的簇数,并根据 根目录所占用的簇数在FAT表中建立根目录的簇链关系; 类文件簇链建立模块:用于根据每一类文件中每个文件所占用的簇数,在内存中建立 完一类文件中每个文件的簇链关系后将该类文件的簇链关系更新到磁盘的FAT表中; 类文件目录组织和建立模块:用于采用短文件名格式组织各文件目录项的字段,在内 存建立完一类文件的所有目录项后将该类文件的所有目录项一次性写入磁盘中; 空闲扇区数回写模块:用于将保留区中分区剩余簇数修改为0,同时对FAT表中未使用 的簇进行填充,完成文件建立。
[0011] 进一步的,所述文件系统信息获取模块中磁盘分区信息包括扇区字节数、每簇扇 区数、总扇区数、FAT表个数、保留扇区数和FAT表大小。
[0012] 进一步的,每所述文件目录项占用32个字节。
[0013] 进一步的,所述类文件目录组织和建立模块进一步包括:文件目录项组织模块和 文件目录项建立模块; 文件目录项组织模块:用于采用短文件名格式组织各文件目录项的字段。所述字段包 括文件名、本文件的起始簇号、文件生成日期、文件的读写属性和文件长度; 文件目录项建立模块:用于根据文件类型在内存中建立同一类文件的所有目录项后, 一次性把同一类文件的所有目录项写入磁盘中。
[0014] 本发明具有如下优点:本发明通过将FAT表项已经占用的簇指向下一个簇号,即 除了文件的尾簇,每一 FAT表项中的数据是下一个FAT表项的ID号,既保证了数据的连续 性,也保证了 FAT链表的连续性,提高了建立文件的速度以及磁盘读写的速度。
【附图说明】
[0015] 下面参照附图结合实施例对本发
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1