`
lobin
  • 浏览: 425224 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

文件系统

FAT

FAT全称File Allocation Table,也就是文件分配表。这源于采用了一种叫做文件分配表(File Allocation Table)的结构来管理磁盘中的扇区。

 

FAT文件系统中主引导记录结构的描述中,有个很重要的结构:BPB (BIOS Parameter Block),也就是BIOS参数块。BPB存在于MBR扇区(或主/引导扇区)中。

 

FAT卷(分区)大小

BPB中有个BPB_TotSec16字段,如果是FAT32,则是BPB_TotSec32字段,分别占用2和4个字节,表示FAT卷(分区)的大小,也就是FAT卷(分区)的扇区数。所以FAT卷(分区)最大能表示2的16次方和2的32次方个扇区,也就是单个FAT卷(分区)最大能表示32M和2T。

 

FAT(File Allocation Table,文件分配表

BPB中有个BPB_FATSz16字段,如果是FAT32,则是BPB_FATSz32字段,分别占用2和4个字节,表示FAT(File Allocation Table,文件分配表)的大小,也就是FAT(File Allocation Table,文件分配表)使用的扇区数。所以FAT(File Allocation Table,文件分配表)最大能表示2的16次方和2的32次方个扇区,也就是单个FAT(File Allocation Table,文件分配表)最大能表示32M和2T。

 

FAT包括3中格式:FAT12, FAT16和FAT32

 

FAT12, FAT16由以下4个区域组成:

1、Reserved area (volume configuration data)

2、FAT area (allocation table for data area)

3、Root directory area

 

4、Data area (contents of file and directory)

也就是:

1、保留区域

2、FAT区域

3、根目录区域

4、数据区域

 

FAT32由以下3个区域组成,它没有根目录区域:

1、Reserved area (volume configuration data)

2、FAT area (allocation table for data area)

 

3、Data area (contents of file and directory)

也就是:

1、保留区域

2、FAT区域

3、数据区域

 

这些区域的大小以及在磁盘中的位置并不固定。

 

 

 

BPB中有个BPB_RsvdSecCnt字段,表示保留区域Reserved area)所使用的扇区数,该字段不可以为0,通常为1,1个扇区正好是MBR的大小,也就是MBR扇区或主/引导扇区,当然也可以是大于1的值,如对于FAT32文件系统,通常为32

 

FAT区域在保留区域的后面,FAT区域中主要存放FAT(File Allocation Table,文件分配表),出于容错的考虑,会冗余存放多份FAT(File Allocation Table,文件分配表),正常情况下只会使用到其中的一份FAT(File Allocation Table,文件分配表),通常会存放2份,以保证如果其中的一份遭到损坏的话,可以使用另一份进行恢复。

 

BPB中有个BPB_NumFATs字段,表示FAT区域中FAT(File Allocation Table,文件分配表)的个数。通常为2。大于等于1的值都是有效的。

BPB中有个BPB_FATSz16字段,如果是FAT32,则是BPB_FATSz32字段,表示FAT(File Allocation Table,文件分配表)的大小,也就是FAT(File Allocation Table,文件分配表)使用的扇区数。

 

随后就是数据区域

 

从这里我们知道,保留区域是在磁盘中从主/引导扇区开始的至少1个扇区的区域。FAT区域是在保留区域之后的BPB_FATSz16 * BPB_NumFATs个扇区。如果是FAT32,就是BPB_FATSz32 * BPB_NumFATs。数据区域是在保留区域之后的扇区。

 

保留区域

保留区域中主要就是一个DBR区,如果保留区域超过1个扇区的话,那么除了DBR区,还会有部分剩余保留区域。

 

DBR区

DBR区就是DBR扇区,占512字节。

 

DBR扇区

也就是Boot Sector,DBR扇区中主要包括引导(Bootstrap)程序和BPB (BIOS Parameter Block),也就是BIOS参数块。

 

这里的Boot Sector,也就是引导扇区通常被称为VBR(卷引导记录)或PBR(私有引导记录),但它只是保留区域的第一个扇区,卷(分区)的第一个扇区。

 

DBR(Dos Boot Record, DOS引导记录)

DBR DOS引导记录存放于DBR扇区中。DBR在有些地方也称为VBR(卷引导记录)或PBR(私有引导记录)

 

DBR和MBR的区别

MBR用于引导操作系统的,系统祝引导程序bootloader存放在MBR中。

DBR是FAT卷(分区)的引导扇区,它的引导程序存放在DBR中。

 

 

FAT文件系统

 

FAT文件系统本身也称为逻辑卷或者逻辑驱动器。FAT12, FAT16和FAT32分别称为FAT12, FAT16和FAT32文件系统。

 

什么是逻辑卷和逻辑驱动器

 

以Windows磁盘管理为例,如下图,Windows中的C、D、E、F盘。。。都是一个个卷,也就是逻辑卷。其中每个盘都是一个分区,其中C、F盘为主要分区,也就是基本分区。D、F盘为一个扩展分区,D、F盘为扩展分区下面的两个逻辑驱动器,逻辑驱动器也是一种特殊分区。

 

可以看出每个盘(每个分区)都对应一个文件系统,也就是一个文件系统。


 

0
0
分享到:
评论

相关推荐

    关于FAT文件系统原理的很详细的分析文档

    **FAT文件系统原理详解** FAT(File Allocation Table,文件分配表)文件系统是一种古老但仍然广泛使用的文件系统,尤其在嵌入式设备、闪存驱动器和一些老式的计算机系统中。它通过维护一个表格来跟踪磁盘上文件的...

    FAT文件系统 FAT文件系统 FAT文件系统 FAT文件系统

    FAT文件系统以其简单、可靠和兼容性好而著称,但随着技术的发展,它逐渐被更高级的NTFS和exFAT所取代。 FAT文件系统的核心是文件分配表,这是一个记录磁盘上所有簇(簇是磁盘上最小的可分配单元)状态的表格。每个...

    FAT文件系统介绍文档和官方协议

    "FAT协议.doc"可能是微软关于FAT文件系统的官方协议文档,详细阐述了FAT文件系统的标准规格、兼容性要求以及授权使用条款。了解这份文档对于开发者来说是至关重要的,它能确保软件与各种使用FAT文件系统的设备兼容。...

    四个关于FAT文件系统的文件

    FAT文件系统包括多种版本,如FAT12、FAT16和FAT32,其中FAT32是最为普遍的。下面将详细阐述这些知识点。 首先,我们来理解FAT32文件系统的基本结构和工作原理。FAT32是一种优化的FAT16格式,它允许更大的磁盘分区和...

    硬盘FAT文件系统原理

    **硬盘FAT文件系统原理** 文件系统是操作系统用于组织、管理和存储数据的一种机制,它使得用户可以方便地访问和管理硬盘上的文件。FAT(File Allocation Table)文件系统是最早和最广泛使用的文件系统之一,尤其在...

    fat文件系统原理.zip_fat_fat文件系统_waitua9_文件系统原理

    FAT文件系统是计算机科学历史上的重要里程碑,虽然随着技术的发展,更先进的文件系统如NTFS、EXT等已逐步取代FAT,但了解FAT的工作原理对于理解文件系统的基本概念仍然具有重要意义。在日常使用中,我们可以通过合理...

    Mini-Fat.rar_fat_fat 文件_fat16_fatfs sst39vf1601_fat文件系统

    标题中的“Mini-Fat.rar”很可能是一个包含了关于FAT文件系统小型实现的压缩包,而“fat_fat 文件_fat16_fatfs sst39vf1601_fat文件系统”这部分描述了该压缩包涉及的核心知识点。描述中提到这个程序设计得简洁高效...

    操作系统课程设计报告-建立基于磁盘存储设备的FAT文件系统_磁盘文件系统

    FAT文件系统采用了一种多级目录管理方式,包括一级二级文件目录UFD(User File Directory)和根目录目录MFD(Master File Directory)。UFD由用户的所有文件块组成,每个用户在MFD中有一个对应的目录项,包含用户名...

    FAT文件系统原理及结构详细讲解.pdf

    FAT文件系统,全称File Allocation Table,即文件分配表,是一种早期的文件系统格式,广泛应用于Windows操作系统中,包括FAT16、FAT32等版本。FAT文件系统的结构设计简洁明了,对于理解文件系统的工作原理具有重要...

    嵌入式FAT文件系统

    嵌入式FAT文件系统是计算机存储领域中的一个重要概念,特别是在嵌入式设备和微控制器应用中。FAT,全称File Allocation Table(文件分配表),是一种广泛使用的文件管理系统,它允许设备组织和管理存储在磁盘上的...

    可移植c语言Fat文件系统

    Fat文件系统,全称为FAT(File Allocation Table),是一种广泛使用的磁盘分区格式,尤其在嵌入式系统和早期的个人计算机中非常常见。本文将深入探讨可移植C语言实现的Fat文件系统,并与周立功的Fat文件系统设计进行...

    FAT文件系统教程

    FAT文件系统,全称为File Allocation Table(文件分配表),是个人计算机中广泛使用的文件系统之一,尤其在早期的Windows操作系统中占据主导地位。本文将深入解析FAT文件系统的原理、结构及其应用。 FAT文件系统的...

    FAT文件系统规范

    ### FAT文件系统规范详解 #### 一、概述 FAT(File Allocation Table)文件系统是微软公司在1970年代末至1980年代初为MS-DOS操作系统设计的一种简单而有效的文件系统。最初,它是为了适应小于500KB的软盘驱动器而...

    FAT文件系统原理,FAT16,FAT32文件系统

    FAT表(File Allocation Table 文件分配表),是Microsoft在FAT文件系统中用于磁盘数据(文件)索引和定位引进的一种链式结构。假如把磁盘比作一本书,FAT表可以认为相当于书中的目录,而文件就是各个章节的内容。但FAT...

    fat-support-for-unicode-Chinese.rar_fat_fat文件系统_完整 项目

    标题中的“fat-support-for-unicode-Chinese.rar”表明这是一个关于FAT文件系统增强功能的项目,特别是增加了对Unicode汉字的支持。FAT(File Allocation Table)文件系统是Microsoft开发的一种广泛应用于磁盘存储...

    操作系统课程设计 模拟FAT文件系统的设计与实现(基于Java实现)

    1.研究FAT文件系统的物理布局。 2.掌握FAT文件系统中目录的结构与目录项定义。 3.掌握文件操作如建立目录,建立文件,删除文件,复制文件时,对FAT和目录的操作步骤。 4.合理设计文件系统布局与数据结构(直接用数组...

    详细介绍了FAT文件系统(包括FAT12,FAT16,FAT32)的电子书

    详细介绍了FAT文件系统(包括FAT12,FAT16,FAT32),不知是哪位牛人写的电子书详细介绍了FAT文件系统(包括FAT12,FAT16,FAT32),不知是哪位牛人写的电子书详细介绍了FAT文件系统(包括FAT12,FAT16,FAT32),不知是哪位牛人写...

Global site tag (gtag.js) - Google Analytics