FAT16
大端存储:高位字节放在低地址端,低位字节放在高地址端。
小端存储:低位字节放在低地址端,高位字节放在高地址端。
举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:
- 大端模式:
低地址 -----------------> 高地址
0x12 | 0x34 | 0x56 | 0x78
- 小端模式:
低地址 ------------------> 高地址
0x78 | 0x56 | 0x34 | 0x12
可见,大端模式和字符串的存储模式类似。
- FAT16 文件系统:FAT的全称为 File Allocation Table,即“文件分配表”。FAT 分为16位与32位两个不同的版本。如果只说“FAT”,则专指FAT16文件系统。FAT16 文件系统的兼容性好,可以被 MS-DOS、 Windows 及其他多种操作系统识别,但是由于不支持大于 2GB 的硬盘, 现在已被淘汰。FAT16 系统一般在 U盘、MMC卡、SD 卡以及一些小型存储设备上使用比较多,把这些小型存储设备统称为存储卡。
- 文件系统的缺点:磁盘利用效率低
- 因为在 Windows 系统中,磁盘文件的分配是以“簇”为单位的,一个簇只分配给一个文件使用,不管 FAT16 这个文件占用整个簇容量的多少。由于这个原因,即使一个很小的文件,它也要占用了一个簇,剩余的空间便全部闲置在那里,形成了磁盘空间的浪费。由于分区表容量的限制,FAT16 支持的分区越大,磁盘上每个簇的容量也越大,造成的浪费也越大。
- 【注意】:分区格式也被称为“文件系统”,例如,FAT16、FAT32、NTFS、 EXT2、EXT3等都属于文件系统。每个分区必须使用一种文件系统,才能存取数据。没有文件系统的分区是无法使用的。
1. 存储结构
FAT16 文件系统把存储卡的划分为几个区,包括 MBR 扇区、DBR 扇区、保留扇区、FAT表1、FAT表2、根目录和数据区,具体结构如图所示,其实保留扇区包含 MBR 扇区,这里把 DBR 标志出来是为了强调它的重要性。
2. DBR 扇区
DBR区(DOS BOOT RECORD)即操作系统引导记录区的意思,也称为引导扇区或启动扇区。它记录了存储卡的所有重要信息,一共512个字节,其结构如图
字节位移 | 字段长度(字节) | 字段名称 |
---|---|---|
0x00 | 3 | 跳转指令(Jump Instruction) |
0x03 | 8 | OEM ID |
0x0B | 25 | BPB |
0x24 | 26 | 扩展BPB |
0x3E | 448 | 引导程序代码(Bootstrap Code) |
0x01FE | 4 | 扇区结束标识符(0xAA55) |