... | ... | @@ -6,7 +6,24 @@ |
|
|
|
|
|
参照这种方式,我们认为无需自行在 MaQueOS 上实现用户态 FAT32 文件系统格式化工具。
|
|
|
|
|
|
# 2. FAT32 的一些限制
|
|
|
# 2. FAT32 文件系统简要
|
|
|
|
|
|
## 2.1 “卷”(volume)的概念
|
|
|
在FAT中引入了“卷”(volume)的概念后,其便**支持将一个物理磁盘分成四个逻辑磁盘,每个逻辑磁盘就是一个卷(也称为分区)**,换言之,每个卷都是一个能够被单独格式化和使用的逻辑单元,供文件系统分配空间时使用。一个卷中包含文件系统信息、一组文件以及空闲空间。每个卷都专门划出一个单独区域来存放自己的目录、 FAT以及逻辑驱动器字母。针对仅有一个硬盘的计算机,通常最多可将其硬盘分为“C:”“D:”“E:”“F:”四个卷。
|
|
|
在现代OS中,一个物理磁盘可以被划分为多个卷,一个卷也可以由多个物理磁盘组成。
|
|
|
|
|
|
## 2.2 地址的管理方式
|
|
|
>在FAT文件系统中,同时使用“**扇区地址**”和“**簇地址**”两种地址管理方式。
|
|
|
|
|
|
只有存储用户数据的**数据区使用簇进行管理**(FAT12和FAT16的根目录除外),**所有簇都位于数据区**。**其他文件系统管理数据区域**是不以簇进行管理的,这部分区域**使用扇区地址**进行管理。**文件系统的起始扇区为0号扇区**。
|
|
|
|
|
|
## 2.3 FAT32 中重要的数据结构
|
|
|
|
|
|
### 2.3.1 BPB(BIOS Parameter Block,BIOS参数块)
|
|
|
|
|
|
BPB 位于卷的第一个扇区中的保留区域内。这个扇区有时称为“引导扇区”或“保留扇区”或“第0扇区”,但重要的是它是**卷**的**第一个扇区**。
|
|
|
|
|
|
## 2.2 FAT32 的一些限制
|
|
|
|
|
|
>这有助于设计正确的测试用例
|
|
|
|
... | ... | @@ -83,4 +100,5 @@ |
|
|
- [fatspec.pdf](https://www.cs.fsu.edu/~cop4610t/assignments/project3/spec/fatspec.pdf)
|
|
|
- 《操作系统设计与实现——基于LoongArch架构》,周庆国 杨虎斌 刘刚 陈玉聪 张福新 著
|
|
|
- 《计算机操作系统(慕课版)》,汤小丹 王红玲 姜华 汤子瀛 编著
|
|
|
- [kernel/git/stable/linux.git - Linux kernel stable tree](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git) |
|
|
\ No newline at end of file |
|
|
- [kernel/git/stable/linux.git - Linux kernel stable tree](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git)
|
|
|
- [FAT32系统文件详解](https://zhuanlan.zhihu.com/p/162798821) |
|
|
\ No newline at end of file |