FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

1.前言

本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记。

每个FAT文件系统基本区域由4部分组成,这些基本区域按如下顺序排列:

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

对于FAT32典型区域分布如下:

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

本节主要介绍文件和目录数据区长目录项

2.长目录项

长目录项就是拥有如下普通属性的短目录项

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

3.长目录项结构

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

4.长短目录项的组织和联结

(1)由于早期的MS-DOS/Windows系统中,只有短目录是可见的,通过短目录才可以查找到长目录

(2)长目录总是紧跟在短目录项后面,并且在物理介质上连续

(3)文件系统会通过一些手段来检测是否长目录项有与之匹配的短目录项

5.长目录项的序号

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

注:[1]一组长目录项中的每个目录项的序号是唯一的;

  [2]每组的最后一个目录项使用标志来表明这是最后一个目录项(LDIR_Ord设为LAST_LONG_ENTRY | N)

  [3]文件系统在目录建立时计算出8bit校验和,保存在每个长目录项中;

6.长文件名在长目录项中的存储

(1)一个目录项无法容纳长文件名的所有字符,因此需要将长文件名存储在多个目录项中

(2)任何情况下,这些长目录项都是相互独立的

(3)长文件名在多个目录项中存储举例:

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

注:[1]如上为"The quick brown.fox"文件的存储;

  [2]长文件名以NUL字符结尾,剩余空间由0xFFFF填充,可用于检测长文件名空间是否被破坏

  [3]如果长文件名字符刚好能够填满目录项(长文件名长度是13的整数倍),文件名末尾将不添加NUL和0xFFFF

  [4]短文件名根据长文件名自动生成

上一篇:[转]SQLServer 2008以上误操作数据库恢复方法——日志尾部备份


下一篇:【读书笔记】iOS-写代码注意事项