fat文件系统
在主引导区后面就是FAT表。从上面可以得知一个FAT表是229个扇区。它里边的内容很简单,里边的内容就是指出下一个簇在哪里。你的盘有多少个簇,那么它的FAT表就要有多少个项来描述它们。因为FAT16是用2个字节(16位)来描述一个簇的,所以这时FAT表的大小就应该是2位的簇数个字节。FAT表中,第4,5个簇表示第2个簇,第6,7个字节表示第3个簇,第8,9字节表示第4个簇……。就这样,每一个簇都有两个和它对应的字节。这两个字节里面存放的数据就是下一个64K数据所在的簇号。2个字节最大能表示65535,一个簇最大为64K,所以FAT16最多能给65535*64K≈4G。这就是为什么大小为4G的FAT16格式SD卡簇大小必须为64K大小原因。实际上,并不是所有的数值都代表簇号,有几个值被赋于了特定的含义, 我们先看看这几个特殊值代表的含义。

FAT16和FAT32每个文件名都占32个字节,这里放的是短文件名,也就是“8.3”格式的。 
但FAT16的根目录区只有32个扇区,计算一下,每个扇区512字节,共32个扇区,而每个文件要占用32个字节,很显然,根目录只能放512个文件了。因此,FAT16的根目录下只能放512个文件(及文件夹)就是这个原因。 先看前32字节,它的内容是这样的

(可见fat也有inode的概念,但是它把inode直接放在dentry里了,没有ext那么绕.但ext那样的搜索效率肯定更高,有时候你做pathwalk,像/home/test/test.c,假如home下有很多文件,而你只想快速的找到test,那么按ext的dentry设计,目录项更精简,排布更密集,一个扇区里能放的entry更多,搜索肯定快的多)
以上摘选自FAT16文件系统结构简述
另外这篇文章很好 https://blog.csdn.net/yanghao58686763/article/details/1921025?utm_source=blogxgwz5
fat表是fat文件系统的核心,基本上这个文件系统有多少个簇(相当于ext2的block概念)用来装文件(目录也算文件),fat表里就有多少个项,这个项的内容就是指向下一个项.
相当于一个数组链表.
fat文件系统的更多相关文章
- FAT文件系统学习和思考
		FAT(File Allocation Table)文件系统 前两天面试,导师说我基础差,要赶紧补起来了.今天晚上看了FAT32文件系统,基本的信息都是百度百科中"FAT文件系统" ... 
- <FAT文件系统> -- DBR
		FAT16是比较简单的文件系统,相比NFTS等文件系统,该系统的学习比较easy,容易上手,同时对于数据存储的机理以及数据的恢复有一定的帮助.FAT文件系统有一定的弊端,不能支持太大的数据存储. FA ... 
- FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项
		1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ... 
- FAT文件系统规范v1.03学习笔记---3.根目录区之FAT目录项结构
		1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ... 
- FAT文件系统规范v1.03学习笔记---1.保留区之 Fat32 FSInfo扇区结构和备份启动扇区
		1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ... 
- FAT文件系统规范v1.03学习笔记---2.FAT区之FAT数据结构(Fat Data Structure)
		1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ... 
- FAT文件系统规范v1.03学习笔记---1.保留区之启动扇区与BPB
		1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ... 
- RTT下spi flash+elm fat文件系统移植小记
		背景: MCU:STM32F207 SPI flash: Winbond W25Q16BV OS: RTT V1.1.1 bsp: STM32F20x 1 将spi_core.c,spi_dev.c及 ... 
- 在XC2440的uboot中挂载U盘,利用FAT文件系统读写U盘文件
		转:http://blog.chinaunix.net/uid-22030783-id-3347608.html 在XC2440的uboot_V1.3版本中已经支持USB HOST驱动和FAT文件系统 ... 
随机推荐
- eclipse中maven工程添加本地库至Maven Dependencies
			1.WEB-INF文件夹下添加lib文件夹,文件夹下添加demo-client-0.1-SNAPSHOT.jar 2.pom.xml中配置如下代码: <dependency> <gr ... 
- php面试专题---8、会话控制考点
			php面试专题---8.会话控制考点 一.总结 一句话总结: 主要是cookie和session的区别,以及用户禁用cookie之后怎么使用session 1.为什么要使用会话控制技术? 因为http ... 
- Hive 窗口函数之 lead() over(partition by ) 和 lag() over(partition by )
			lead函数用于提取当前行前某行的数据 lag函数用于提取当前行后某行的数据 语法如下: lead(expression,offset,default) over(partition by ... o ... 
- 测开之路六十四:UI测试平台之前端页面
			{% extends "base.html" %} {% block script %} <!-- 引入js文件,需要在base.html留入口,不然渲染会出问题. --&g ... 
- delphi 之 get post
			http://www.cnblogs.com/ccqin/archive/2012/08/22/2650348.html delphi 之 get post 没测试过这个 var Source: TM ... 
- Convolutional Neural Networks(4):Feature map size,Padding and Stride
			在CNN(1)中,我们用到下图来说明卷积之后feature maps尺寸和深度的变化.这一节中,我们讨论feature map size, padding and stride. 首先,在Layer1 ... 
- Java IO(3)
			字符流相关 字符流基本上可以类比字节流 只不过是将字节流的byte 换为char. 最根本的两个类是Reader以及Writer Reader的子类有:BufferedReader, CharArra ... 
- JSP基础--九大内置对象
			JSP九大内置对象 Object findAttribute(String name):依次在page.request.session.application范围查找名称为name的数据,如果找到就停 ... 
- PowerShell - Invoke VBA function
			$xl = new-object -comobject Excel.Application $source_wb = $xl.workbooks.open($source) $xl.visible=$ ... 
- [Linux] 011 其它权限管理命令
			1. 权限管理命令:chown 命令名称:chown 命令英文原意:change file ownership 命令所在路径:/bin/chown 执行权限:所有用户 语法:chown [用户] [文 ... 
