FAT16文件系统的FAT表分析

1:FAT表的作用及结构特点

FAT即文件系统分配表,对于FAT文件系统来讲是非常重要的一环。其主要作用如下

(1)      FAT文件系统一般有两份FAT,它们由格式化程序对分区进行格式化的时候创建,FAT1是活动FAT,FAT2是备份FAT。

(2)      FAT1跟在DBR之后,FAT2跟在FAT1之后中间没有空的扇区

(3)      FAT表由FAT表项构成的,我们把FAT表项简称为FAT项。每个FAT项的大小有12位,16位,32位,三种情况,对应的分别FAT12,FAT16,FAT32文件系统。

(4)      每个FAT项都有一个固定的编号,这个编号是从0开始。

(5)      FAT表的前两个FAT项有专门的用途:0号FAT项通常用来存放分区所在的介质类型,例如硬盘的介质类型为“F8”,那么硬盘上分区FAT表第一个FAT项就是以“F8”开始,1号FAT项则用来存储文件系统的肮脏标志,表明文件系统被非法卸载或者磁盘表面存在错误。

(6)      分区的数据区每一个簇都会映射到FAT表中的唯一一个FAT项。因为0号FAT项与1号FAT项已经被系统占用,无法与数据区的族形成映射,所以从2号FAT项开始跟数据区中的第一个簇映射,正因为如此,数据区中的第一个族的编号为2,这也是没有0号簇与1号簇的原因,然后3号簇与3号FAT项映射,4号簇与4号FAT项映射。。。。。。。。。。

(7)      分区格式化后,用户文件以簇为单位存放在数据区中,一个文件至少占用一个簇。当一个文件占用多个簇时,这些族的簇号不一定是连续的,但这些簇号在存储该文件时就确定了顺序,即每一个文件都有其特定的“簇号链”。在分区上的每一个可用的簇在FAT中有且只有一个映射FAT项,通过在对应簇号的FAT项内填入“FAT项值”来表明数据区中的该簇是已占用,空闲或者是坏簇三种状态之一。

FAT表中每个FAT项可取的表项值及其含义

FAT项值(FAT12)

FAT项值(FAT16)

FAT项值(FAT32)

含义

000H

0000H

00000000H

未使用的簇

002H – FEFH

0002H - FFEFH

00000002H – 0FFFFFFEH

一个已分配的族号

FF0H – FF6H

FFF0H – FFF6H

0FFFFFF0H – 0FFFFFF6H

保留

FF7H

FFF7H

0FFFFFF7H

坏簇

FF8H - FFFH

FFF8H - FFFFH

0FFFFFF8H – 0FFFFFFFH

文件结束簇

其中损坏的族可以在格式化过程中,由格式化程序发现并记录在相应的FAT项中。在一个簇中,有一个坏的扇区,该簇就不能使用。
(8)FAT16文件系统的FAT项是16位的,也就是说每个FAT项占2字节。16位的FAT项最多可管理65535个簇。在Windows 2000系统之前簇最大为64个扇区,这样,采用16位FAT的系统最多只能管理32 * 65535 约于 2G的分区。现在簇大小可以达到128个扇区,这样FAT16就可以管理4G的分区了。

(8)      综合上面的说明可以看出,FAT表的功能主要有如下:

A:表明分区所在介质类型。FAT表的0号FAT项来表明分区所在的介质类型,该FAT项的首字节与BPB中介质描述符所对就的介质类型相同

B:表明一个文件所占用各簇的簇链分配情况。每个簇在FAT表中映射一个FAT项,FAT项以指针的方式记录在文件的簇。

C:标明可用簇与坏簇。坏簇是在分区格式化时发现的,并把相应的簇表的项写入FFF7H.用户不能使用。

分区上未被使用但可用的“空簇“的FAT项值为0,

FAT16文件系统之FAT表浅谈(三)相关推荐

  1. (一)永磁同步电机矢量控制(三电平)——浅谈三电平逆变器

      由于前几天比较忙,这期更新有点迟了!!不过没关系,在新的章节会保持每周更新1~2篇博文. 0 前言 这期我们开始新的章节--永磁同步电机矢量控制(三电平). 记得前两三周我在做三电平的PMSM矢量 ...

  2. 浅谈三角带的使用及其分类

    浅谈三角带的使用及其分类 特殊加工传送带http://www.gardner-js.com/csd.html三角带又称V型带,是传动带中产量最大.品种最多.用途最广的一种产品.自从1917年首次由美国 ...

  3. 浅谈三次数学危机——费马大定理

    浅谈三次数学危机--费马大定理 19世纪末20世纪初,随着非欧几里得几何.无穷小分析等领域的迅速发展,数学界面临着前所未有的挑战.这场关于数学基础的争论,被称为"数学危机".数学危 ...

  4. 浅谈三个星期零基础入门学习Thinkphp5开发restful-api接口的心得和总结

    一丢丢心得体会: 首先不得不说一下,学习一门知识,真的就像建一栋高楼一样,地基必须的稳固,否则你辛辛苦苦建的楼可能随时会垮掉,这一点在我学习thinkphp5的路上深有体会,同时了自此我也爱上了写博客 ...

  5. 浅谈三种特殊进程:孤儿进程,僵尸进程和守护进程

    昨天学了进程控制,就这三种特殊的进程研究了一下,其中也借鉴了一些前人总计的经验. 1.孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这里子进程的父进程就是init进程( ...

  6. (转)认识动作捕捉系统 浅谈三种主流解决方案

    转自http://news.17173.com/content/2016-03-14/20160314102718031.shtml 目前动作捕捉系统有惯性式和光学式两大主流技术路线,而光学式又分为标 ...

  7. 浅谈三种近场通信技术特点以及未来应用场景分析与预测

    一.三种近场通信技术特点 1.WIFI WiFi全称Wireless Fidelity,具有传输速度较高(可以达到UMbps).有效距离长和接入设备多等优点.IEEE 802.11是针对WIFI技术制 ...

  8. 以爱情规律为例,浅谈三段式描述状态机

    目录 基础概念介绍 状态机的要素 FSM的分类 Verilog描述状态机的方法 一段式描述 两段式描述 三段式描述 结语 基础概念介绍 今夜闲来无事,忽然想到最近准备复习一下Verilog语法,所以就 ...

  9. 浅谈三种近场通信技术的特点,对未来近场通信技术的应用场景进行分析与预测

    一.三种近场通信技术特点 1.WIFI 概念:创建于IEEE 802.11标准的无线局域网技术.WiFi(Wireless Fidelity,无线保真技术)即IEEE 802.11协议,是一种短程无线 ...

最新文章

  1. zabbix 乱码的问题
  2. 假如AI也会diss人类,他们会这样.....
  3. 这10个著名的思想实验,竟然是物理学家完成的
  4. centos 安装 erlang
  5. JAVA API1.7中文手册
  6. 阿里云RDS vs 自建MySQL,这篇评测终结你的选择困难症!
  7. 从零写一个编译器(五):语法分析之自动机的缺陷和改进
  8. 我是如何一步步的在并行编程中将lock锁次数降到最低实现无锁编程
  9. gps84转换gcj02公式_百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换...
  10. powershell 安装mvn_Maven 安装好之后,命令行执行 `mvn -v` 提示“'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”...
  11. html5学习笔记---03. Canvas简介,Canvas的使用方法
  12. 如何走出物联网死亡之井?
  13. C#_delegate - 值参数和引用参数
  14. 洛谷 P2241统计方形(数据加强版) 题解
  15. 021-云E办_职位管理功能实现
  16. 色彩知识的运用 和 色彩意境解析
  17. dcos - docker的日志收集
  18. html5中英文间自动空格,如何快速在文章中英文数字间自动添加空格
  19. php开发地图导航,百度地图API使用方法详解
  20. 阿里pc服务占据内存20%及云壳卸载

热门文章

  1. 对吉利汽车副总裁王自亮的“飞行印象”
  2. 史上最详尽,全方位解读车路协同
  3. 【转】上火了一吃就好的食物
  4. 计算两幅图像PSNR
  5. CC2541 软件I2C
  6. 地下城与勇士(DNF)海上列车副本(列车上的海贼、夺回西部线、幽灵列车、 雾都赫伊斯、阿登高地、特快列车追击战、卡勒特指挥部)(童年的回忆)
  7. 2.HTML5浏览器支持
  8. win10 64位下的小日本5(TMPGEnc Video Mastering Works)转码工具使用教程
  9. 三种数据库架构的介绍
  10. ArcEngine简单教程——要素的属性查询、空间查询