【技术实现步骤摘要】
基于FAT文件系统的查找空闲簇的方法和系统
本专利技术涉及数据存储领域,特别涉及一种基于FAT文件系统的查找空闲簇的方法和系统。
技术介绍
FAT(FileAllocationTable)文件分配表是微软公司在FAT文件系统中为磁盘数据文件索引和定位而引进的一种链式结构,FAT文件系统因其读写速度较高,在许多嵌入式系统中得到广泛的应用。嵌入式系统针对各种应用及其需要实现的功能,对硬件和软件进行了严格的裁剪。目前随着应用的日益复杂,对嵌入式系统的实时性需求越来越高,需要快速及时地访问存储单元,其中涉及到查找空闲簇的步骤。传统技术中查找空闲簇时,一般需要读取FAT文件分配表,从起始扇区开始逐一读取扇区,进行空闲簇的查找,耗费大量时间。当磁盘中存在大量碎片时,查找空闲簇耗费的时间将更加多,因此目前在FAT文件系统中查找空闲簇的效率低下。
技术实现思路
基于此,有必要针对目前在FAT文件系统中查找空闲簇的效率低下的问题,提供一种基于FAT文件系统的查找空闲簇的方法和系统。一种基于FAT文件系统的查找空闲簇的方法,包括以下步骤:获取FAT文件分配表的映射表;其中,映射表存储FAT文件分配表所占用的各个扇区的空闲簇记录状态数据;根据映射表获取FAT文件分配表所占用的存在空闲簇记录的扇区;在存在空闲簇记录的扇区中查找空闲簇项,根据空闲簇项计算空闲簇的位置。一种基于FAT文件系统的查找空闲簇的系统,包括以下模块:映射表获取模块,用于获取FAT文件分配表的映射表;其中,映射表存储FAT文件分配表所占用的各个扇区的空闲簇记录状态数据;扇区获取模块,用于根据映射表获取FAT文件分配 ...
【技术保护点】
一种基于FAT文件系统的查找空闲簇的方法,其特征在于,包括以下步骤:获取FAT文件分配表的映射表;其中,所述映射表存储所述FAT文件分配表所占用的各个扇区的空闲簇记录状态数据;根据所述映射表获取所述FAT文件分配表所占用的存在空闲簇记录的扇区;在所述存在空闲簇记录的扇区中查找空闲簇项,根据所述空闲簇项计算所述空闲簇的位置。
【技术特征摘要】
1.一种基于FAT文件系统的查找空闲簇的方法,其特征在于,包括以下步骤:获取FAT文件分配表的映射表;其中,所述映射表存储所述FAT文件分配表所占用的各个扇区的空闲簇记录状态数据;根据所述映射表获取所述FAT文件分配表所占用的存在空闲簇记录的扇区;在所述存在空闲簇记录的扇区中查找空闲簇项,根据所述空闲簇项计算所述空闲簇的位置。2.根据权利要求1所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述获取FAT文件分配表的映射表的步骤包括以下步骤:创建空白映射表;依次读取FAT文件分配表所占用的所有扇区;每读取一个扇区,在当前读取扇区中查找空闲簇记录;在查找到空闲簇记录时,在所述空白映射表中对应当前读取扇区的比特位置为第一数值;在读取完FAT文件分配表所占用的所有扇区后,获得所述FAT文件分配表的映射表。3.根据权利要求2所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述在当前读取扇区中查找空闲簇记录的步骤之后还包括以下步骤:在未查找到空闲簇记录时,对创建的空白映射表中对应当前读取扇区的比特位置为第二数值。4.根据权利要求3所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述在当前读取扇区中查找空闲簇记录的步骤之后还包括以下步骤:当所述被置为第一数值的比特位与被置为第二数值的比特位的位数之和达到写入阈值时,将已置位的比特位写入存储单元。5.根据权利要求4所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述将已置位的比特位写入存储单元的步骤包括以下步骤:计算所述已置位的比特位的CRC值;将所述已置位的比特位的CRC值以及所述已置位的比特位写入存储单元。6.根据权利要求1所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述在所述存在空闲簇记录的扇区中查找空闲簇项的步骤之后还包括以下步骤:在查找到空闲簇记录并且所述空闲簇项为当前读取扇区的最后一簇时,将所述映射表中对应的比特位置为第二数值。7.根据权利要求3所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述根据所述映射表获取所述FAT文件分配表所占用的存在空闲簇记录的扇区的步骤包括以下步骤:确定所述映射表中被置为第一数值的比特位所在的当前字节;获取当前字节所处扇区的偏移值、当前字节在所处扇区中的偏移值、当前字节中第一个被置为第一数值的比特位的偏移值和单位扇区的字节数;根据所述当前字节所处扇区的偏移值、当前字节的偏移值、当前字节中第一个被置为第一数值的比特位的偏移值和单位扇区的字节数,计算所述FAT文件分配表所占用的存在空闲簇记录的扇区的偏移值;根据所述FAT文件分配表所占用的存在空闲簇记录的扇区的偏移值读取所述FAT文件分配表所占用的存在空闲簇记录的扇区。8.根据权利要求7所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述根据所述存在空闲簇记录的扇区中空闲簇的簇项计算所述空闲簇的位置的步骤包括以下步骤:获取所述FAT文件分配表所占用的存在空闲簇记录的扇区中空闲簇项的偏移值;根据所述空闲簇项的偏移值、存在空闲簇记录的扇区的偏移值、单位扇区的字节数和单位簇的字节数,计算出空闲簇的地址。9.根据权利要求1所述的基于FAT文件系统的查找空闲簇的方法,其特征在于,所述获取FAT文件...
【专利技术属性】
技术研发人员:陈日新,
申请(专利权)人:珠海市杰理科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。