FDT:File Directory Table,文件目录表。
通过BPB分析可知,根目录可存放512条目录信息。根据FAT16文件系统规定,每个目录条信息大小为32字节,即根目录占用32个扇区,16KB空间。

根目录中仅存储进入该磁盘卷后,看到的所有文件和文件夹的目录条信息。
对于根目录文件夹下的子文件夹和文件,均存储在数据区。

每个目录条为32字节表示。含义如下:

文件名
上表中8(主文件名)+3(扩展名)表示文件名,这种格式为短文件名格式。
扩展名若没有,则用空格填充。

文件属性
文件属性表示的方法是按二进制位定义,最高两位保留未用。

文件时间
0x0D偏移量的字段为文件创建时间精确到10ms的值。例如:如果值为86H,十进制为134,所以文件创建的时间为1340ms,即1.34s。

0x0E~0x0F偏移量字段表示文件创建时间,定义如下:
0-4位,这5位记录秒的值,单位是2s,也就是把这四位的值乘以2,才是秒的值,其取值范围为0-29。
5-10位,这6位记录分的值,其取值范围为0-59。
11-15位,这5位记录时的值,其取值范围为0-23。
计算出来的值再加上1340ms。才是文件最终的创建时间。

0x10~0x11偏移量字段表示文件创建日期,定义如下:
0-4位,这5位记录日的值,其取值范围为0-31。
5-8位,这4位记录月的值,其取值范围为0-12。
9-15位,这7位记录年的值,其取值相对于1980年开始计数的,其值必须加上1980。

文件最近访问日期:同文件创建日期算法一样。
文件修改时间:同文件创建时间算法一样。
文件修改日期:同文件创建日期算法一样。

文件位置
0x1A~0x1B偏移量字段表示文件位置,即蔟号。注意数据区起始蔟号为2号蔟。

文件大小
0x1C~0x1F偏移量字段表示文件,单位为字节。

重要字段:文件名、扩展名、文件属性、文件首蔟号、文件长度。

长文件名
如果文件名超过8字节,系统根据文件名的长度,分配多个32字节的目录项用于保存长文件名,格式如下:

注意:长文件名中文件名的表示每个字符用两个字节表示。

为了兼容DOS与Winddows 3.x在Winddows 95以上的系统中,超过8.3格式的文件或目录实际存储着两个名字,一个短文件名和一个长文件名。当创建一个长文件名时,其对应的短文件名的处理有以下三个原则:
A:系统取长文件名的前6个字符加上“~1”,形成短文件名,其扩展名保持不变;
B:如果已经存在这个名字的文件,数字自动加1,如“~2”;
C:如果有DOS与Winddows 3.x的非法字符,以“_”替代。
例如新建一个名为+++的文件夹:

这里可以看出,文件名为1.txt,文件存储的蔟号为0、长度为0,说明1.txt中为空。

长文件名文件:

这里可以看出,文件名为0123456789.txt,占用了三个目录条。文件存储的蔟号为0、长度为0,说明0123456789.txt中为空。

长文件名文件:

43表示结束,序号为3。
这里可以看出,文件名为111111111111111111111111111111.txt文件,占用3个目录条。文件存储蔟号为第8蔟,文件大小为3字节。

短文件夹文件:

这里可以看出,文件夹名为2,存储蔟号为0,大小为0,表示为空文件夹。

长文件夹文件:

这里可以看出,文件夹名为33333333333333333,占用3个目录条。存储蔟号为0,大小为0,表示为空文件夹。

111.txt文件定位和查看:

根目录在24号扇区,根目录占用32个扇区,即24-55号扇区。
则数据区从56号扇区开始,数据区的起始扇区位于2号簇。
根据111.txt的目录条信息可知:111.txt文件位于6号簇,大小为1字节。
56号扇区为第2号簇,每个簇占8个扇区。
111.txt文件位于第56+(6-2)*8=88号扇区。
跳转到88号扇区即可查看111.txt的文件内容。

子目录定位和查看:

".“和”…"目录:
在子目录所在的文件目录项区域中,总有两个特殊的目录,“.”目录项和“…”目录项可以用DOS命令的DIR查看到。说明:
A:“.”目录项所描述的起始簇号,是子目录本身所在簇号;
B:“…”目录项所描述的起始簇号,是上一级目录的起始簇号,如果上级目录为根目录,则起始簇号被设置为0;
C:这两个目录都大小被设置0,同其他的文件夹目录项一样。
系统利用“.”目录项(当前目录)和“…”目录项实现目录之间的双向联系,从而把整个文件系统联系在一起。

文件删除:删除文件或目录。
(i)短文件名的占的目录项第1个字节被改写成E5H。
(ii)长文件名占的目录项第1个字节也被改写成E5H。

fat16的fdt说明相关推荐

  1. FAT16文件系统之DBR(二)

    FAT16文件系统的DBR由5部分组成,跳转指令,OEM,BPB,引导程序,结束标志 1:跳转指令 跳转指令本身占用2字节,它将程序执行流程跳转到引导程序处.例如,当前DBR中的"EB 3C ...

  2. 文件目录表(FDT)及其结构

    用FORMAT命令对磁盘(或逻辑盘)进行格式化的时候,就已经为整个硬盘建立了一个根目录FDT.在根目录下,用户可以用DOS命令"MD"再创建不同的各个子目录,以及子目录下的子目录. ...

  3. android 读写sd文件系统,SD卡FAT16文件系统的学习笔记

    一.读文件的流程读物理扇区0,得到引导扇(逻辑扇区0)的偏移地址. 读引导扇的内容,得到文件系统基本配置信息. 根据文件系统的基本配置信息计算FAT,FDT,数据簇的起始地址和大小. 根据要读的文件名 ...

  4. 使用winhex对fat16文件系统分析

    "FAT16"是"File Allocation Table,16-bit"的英文缩写,意思是"文件分配表,16位" .FAT16文件系统是 ...

  5. FAT16和FAT32目录结构分析

    一.前言 FAT16和FAT32从原理上看是同一类技术,放在一起分析,有助于了解其细节差异: 先回归一下FAT16.FAT32 分区的大致结构如下: 从分区结构上看,FAT16和FAT32目录结构比较 ...

  6. FAT16文件系统之目录项分析(四)

    FAT16文件系统的FDT分析 1:FDT位置 FDT的含义为文件目录表,它在一个文件系统中的具体位置是紧跟在FAT2之后. 定位过程: A:系统通过读取该分区表信息,定位到其DBR扇区 B:读取DB ...

  7. FAT16介绍与结构

    一.FAT16文件系统结构: MBR DBR及其保留扇区 FAT1 FAT2 FDT DATA 功能介绍: DBR及其保留扇区:DBR是DOS引导记录,也称为操作系统引导记录 FAT1:FAT是文件分 ...

  8. FAT16文件系统之总结构分析(一)

    硬盘是用来存储数据的,为了使用和管理的方便,这些数据以文件的形式存储存储在硬盘上.任何 操作系统都有自己的文件管理系统,不同的文件系统又有不同的逻辑组织方式,要对硬盘进行高效 的管理并对数据进行恢复, ...

  9. fat16和fat32文件系统学习

    根据自己电脑的fat,fat32分区来学习fat,fat32文件系统 fat16和fat32文件系统学习 - 下载频道 - CSDN.NET http://download.csdn.net/deta ...

最新文章

  1. 阿里p7程序员哀叹:35岁,被通知合同不再续签,输出社会,怎么办?
  2. 再谈 Struts1.x 的运行机制
  3. python数据分析年薪百万_如何成为一个年薪 50 万以上的数据分析师?
  4. 思科、华为、华三、Juniper路由协议优先级汇总
  5. shortcut icon 修改浏览器标签网站图标
  6. 一次自定义Configuration的悲惨经历。
  7. python 找质数的个数_用Python打造一款文件搜索工具,所有功能自己定义!
  8. python绘制如下图形、小三角形边长20_python二级操作题与分析(7)
  9. 顺便抹了下眼眶的飞鸽传书官方网站
  10. mysql优化之query优化
  11. leetcode - 1049. 最后一块石头的重量 II
  12. 1.MAC中MySql的环境配置
  13. 信息化规划、信息化战略规划、信息资源规划、信息化项目规划之间的关系
  14. Cesium开发基础获——取鼠标点击的经纬度(lon、lat)、高度(height)、相机的视角(heading、pitch、roll)
  15. SQL语句中对时间字段进行区间查询
  16. JAVA-基础(Stream流)
  17. 一文看懂25个神经网络模型,神经网络模型结构图
  18. 智能财务报表OCR识别系统
  19. math.h中常用的函数(C语言)
  20. 威纶通触摸屏配方功能的使用方法示例

热门文章

  1. android多个水波球,Android最简单的方式实现波浪纹和小球
  2. 冯洛伊曼计算机工作原理的设计思想是,冯诺依曼计算机工作原理的设计思想是...
  3. Python爬取百度地图的瓦片图
  4. a类b类c类ip地址范围
  5. winform和wpf如何实现鼠标穿透的效果
  6. Apache Maven项目提供的EAR插件详解
  7. 3D打印机或改变世界 可打印出星球大战尤达大师
  8. 救了一只流浪狗后,网友惊了:太像尤达宝宝了!
  9. 6.6 创建选项卡窗体(上)
  10. OSS对象存储ssl证书部署