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. word-break:break-all和 word-wrap:break-word区别
  2. live的domain服务
  3. PHP中类明明存在 但class_exists 确检测不到的坑: 使用完整命名空间
  4. 学点数学(4)-协方差矩阵
  5. 在linux下使用360随身wifi 2 | 李凡希的blog,在Linux下使用“360随身WiFi 2”
  6. golang make第三个参数的作用
  7. erc20怎么查询代币交易记录_信用卡在pos机上刷卡手续费怎么算?信用卡刷卡记录如何查询?...
  8. mysql滴的一声就关了_关于mysql数据库在输入密码后,滴的一声直接退出界面的解决办法(详细办法)...
  9. linux 测试端口连通性_磨刀不误砍柴工,带你搞定云网络系统性能测试
  10. 福利 | 干大事,成大事,2018 幸福如是!
  11. 5分钟部署一个Hello World Servlet到CloudFoundry 1
  12. 快递员凌晨送件,将下班程序员误认成小偷
  13. docker 指定网卡_Docker数据卷备份恢复、桥接网络设置
  14. linux安装mysql_Linux学习笔记-安装MySQL
  15. 笔记本关闭触摸板——解决无法关闭触摸板问题
  16. 强大的网页数据库管理工具Adminer
  17. 使用canal实现MySQL 8 全量同步数据到 ElasticSearch 7.15.2中 linux
  18. 计算机键盘上的句号键在哪,电脑键盘句号是哪个键
  19. 手机远程启动汽车,汽车远程启动还是手机控制好!有一种远程手机启动热车系统非常的不错是什么功能知道吗?
  20. Faceless —— 开源的匿名社交应用

热门文章

  1. Fedora Linux在Lenovo G50-45硬件平台中安装BCM43142 无线网卡驱动
  2. 物联网的这一难题或令智能城市增加3410亿美元成本
  3. mondrian 性能优化
  4. 初心如磐、砥砺筑梦,谱写云原生时代新篇章
  5. TJS2中对象的表示方法,其代表的运行时环境,与闭包的关系
  6. CentOS基础系列六 :搭建DNS服务(详细图解)
  7. 使用Gzip加速网页的传输
  8. 计算机软硬件实训学什么,计算机实训报告
  9. MySql性能测试工具-sysbench
  10. MAC修改文件默认打开方式