文章目录

  • 1.第一章--磁盘结构概述
    • 1.1保留区(含DBR--DOS Boot Record)
    • 1.2FAT区
    • 1.3数据区
  • 第二章--FAT32磁盘结构介绍
    • FAT32文件系统简介
    • 文件分配表
      • 文件分配表如何记录文件所包含的簇
  • 第三章--fat文件系统
    • 目录项
    • 文件(夹)内容

1.第一章–磁盘结构概述


fat磁盘物理上分为以下四部分组成:

  • 保留区(含MBR–Main Boot Record)
  • 保留区(含DBR–DOS Boot Record)
  • FAT区
  • 数据区

1.1保留区(含DBR–DOS Boot Record)

保留区含有一个重要的数据结构–系统引导扇区DBR。FAT12、FAT16的保留区通常只有一个扇区。而FAT32保留的多些,除了0号扇区外,还有一些其他的扇区,其中包括了DBR的备份扇区。

1.2FAT区

FAT区由文件分配表构成–FAT1,FAT2,FAT2紧跟在FAT1后面,是FAT1的备份

1.3数据区

数据区是保存数据的,其中根目录也保存在此。这一区域不以扇区管理,而是以簇进行管理。

第二章–FAT32磁盘结构介绍

FAT32文件系统简介

  • FAT(File Allocation Table,文件分配表)文件系统是Windows操作系统所使用的一种文件系统,他的发展过程经历了FAT12,FAT16,FAT32三个阶段。
  • FAT文件系统用 “簇” 作为数据单元。一个“簇”由一连串的扇区组成,簇所含的扇区数必须是 2的整数次幂 。簇的最大值是64个扇区,即32kb。 本文中一簇是4kb。
  • 所有簇从2开始进行编号,每个簇都有一个自己的编号。
  • 用户文件和目录都存储在簇中。
  • 文件系统分配磁盘按照簇进行分配,因此一个文件即使只有1kb,那么也会被分配4kb的空间。

文件分配表

  • 文件和文件夹内容存储在簇中,如果一个文件或者文件夹需要多余一个的簇进行存储,那么通过文件分配表建立起多个簇的联系。。FAT结构用于指出下一簇,同时也说明了簇的分配状态。FAT12、FAT16、FAT32的不同就在于文件分配表的大小不同。

文件分配表如何记录文件所包含的簇

我们已经知道,在文件分配表中记录了数据区中簇之间的关系。而数据区中的簇就是存储文件或文件夹信息的基本单位。

  • FAT32中簇地址是用4字节进行编址的,故在FAT表中,是以4个字节为单位进行划分,每个单元存储一个簇地址。 **0号地址与1号地址被系统保留并存储特殊标志内容。**从2号地址开始,第i号地址对应数据区中i号簇。我们称 FAT表中的地址为FAT表项,FAT表中记录的值为FAT表项值
  • 当文件系统被创建时,FAT表会被清空,在FAT1和FAT2表中的0号地址与1号地址会被写入特定值。由于创建文件系统的同时会创建根目录,也就是在数据区为根目录分配一个簇的空间(2号簇,起始簇)在FAT表中2号地址写入一个结束标记。
  • 当FAT表中第i号地址对应的簇未被使用时,表项值为0
  • 当FAT表中第i号地址对应的簇是记录一个文件或文件夹的最后的簇时,表项值为0xFFFFFFFF。
  • 下表给出了FAT表项值的详细含义(更详细表项值含义请自行利用百度或Google)
表项值(32位) 簇描述符含义
00000000H "0"值(未分配使用)
00000001–FFFFFFEFH “一个簇号”(已占用)
FFFFFFF7H 坏簇
FFFFFFF8–FFFFFFFFH “EOF”(文件结束簇)

第三章–fat文件系统

第二章中文件分配表已经建立起了簇之间的联系。那么对于文件系统来说,如何确定文件与文件、文件夹与文件之间的逻辑存储关系呢?本章中将介绍此内容。

目录项

首先介绍下目录项的概念:

  • FAT文件系统的每一个文件和文件夹都被分配到一个目录项,目录项中记录着文件名、大小、文件内容起始地址以及一些其他元数据(简单来说就是文件或文件夹本身的属性)。(具体存储格式可以百度或者Google)跟在目录项之后的是文件或文件夹的具体内容。
  • 目录项都有规定好的固定长度以及每个位置代表的含义(以下给出了fat32中目录项的32个字节的含义)

文件(夹)内容

有了目录项,就有了文件或文件夹本身的属性。紧跟目录项后是文件或文件夹的内容。

  • 对于文件类来说,存储的就是文件本身的内容
  • 对于文件夹来说,存储的是一条一条的记录,每条记录是此文件夹下包含的文件或文件夹(同时也包含父目录…当前目录.)每条记录都应该有固定的格式,但总归需要包含以下内容:
1.记录是文件还是文件夹
2.记录的起始簇号

[操作系统] FAT文件系统概述相关推荐

  1. Linux 文件系统概述

    1.什么是文件系统: 请参见:<Linux 文件系统概述> 2.文件系统的组织结构简说: 当您使用Linux的时候,如果您通过ls -la / 就会发现,在/下包涵很多的目录,比如etc. ...

  2. 操作系统之文件管理系统

    操作系统之文件管理系统 一.初识文件管理 一.前景回顾 二.文件的属性 一个文件有哪些属性: 文件名:由创建文件的用户决定文件名,主要是为了方便找到用户找到文件,同一目录下不允许有重名文件. 标识符: ...

  3. 论述Linux文件系统,linux文件系统概述

    操作系统的主要几大管理系统,如进程管理调度系统.内存管理系统.文件系统.在我们平时使用操作系统的过程中,我们接触最多的就是文件系统.因为我们平时无论工作还是生活,我们都要编辑文件 创建文件 来记录具体 ...

  4. 【王道考研操作系统】—文件的基本操作

    [王道考研操作系统]-文件的基本操作 一.文件的逻辑结构 按文件是否有结构分为:无结构文件.有结构文件两种. 无结构文件:文件内部的数据就是一系列二进制流或字符流组成.又称流式文件,如Windows操 ...

  5. Linux操作系统:文件和目录命令

    dba基础课程-Linux操作系统:文件和目录命令 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~us ...

  6. 簇是操作系统读写文件的基本单位

    微软操作系统(DOS.WINDOWS等)中磁盘文件存储管理的最小单位叫做"簇" 数据存储在硬盘的时候都是以簇为单位,所以无论文件大小是多少,除非正好是簇大小的倍数,否则文件所占用的 ...

  7. JFS 文件系统概述及布局分析

    JFS 文件系统概述及布局分析 日志文件系统如何缩短系统重启时间如果发生系统崩溃,JFS 提供了快速文件系统重启.通过使用数据库日志技术,JFS 能在几秒或几分钟之内把文件系统恢复到一致状态,而非日志 ...

  8. oracle文件系统挂载点,挂载和取消挂载文件系统概述

    挂载和取消挂载文件系统概述 需要首先挂载文件系统,然后才能访问该文件系统上的文件.挂载文件系统时,需要将该文件系统附加到目录(挂载点)并使其对系统可用.始终会挂载根目录 (/) 文件系统.可以将其他任 ...

  9. STM32F103读取SD卡的数据(fat文件模式)

    实验目的 掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式). 实验原理 SD卡寄存器 SD卡总共有8个寄存器,用于设定或表示SD卡信息. 这些寄存器只能通过对应的命令访 ...

  10. STM32F103完成对SD卡的数据读取(fat文件模式)

    目录 一.关于SD卡 1.简介 2.SD卡的寄存器 3.SD卡读取与写入(SPI模式) 二.实验操作 1.仪器 2.代码 3.连线 4.烧录程序 5.串口调试助手初始化并写入文件 6.sd卡里hell ...

最新文章

  1. 机器人流程自动化技术的新发展
  2. 如何实现分类表统计数目和详情表数量同步
  3. MongoDB入门教程(1)
  4. ie8不发送ajax,IE8用ajax访问不能每次都刷新的问题
  5. Spring中的Bean是如何被回收的?
  6. Xshell5远程连接Linux工具设置
  7. 睿智的目标检测26——Pytorch搭建yolo3目标检测平台
  8. Transphorm推出第四代GaN平台及SuperGaN™功率FET
  9. unity2D 箭头动画(给猛虎桥章节做动画演示一)
  10. html文本间距1.5倍怎么设置,行距怎么设置18磅
  11. Linux下打开ISO文件两种方法
  12. java 调用foxmail_JavaMail(JAVA邮件服务) API详解
  13. python配色_[转]修改Python IDLE代码配色及语法高亮主题
  14. Oracle中scott数据库,浅析Oracle中sys、system和Scott用户下的数据库连接问题
  15. 【PowerBI】CALCULATE函数应用
  16. Acer主板装系统报reboot and select proper boot device
  17. 【调度】遗传算法的基本理论
  18. 管理的最高境界不是完美
  19. FPGA入门学习笔记(十四)Vivado实现数码管段码显示以及动态扫描
  20. max31865模块RTD测温注意事项

热门文章

  1. caxa 二次开发 应用程序框架分析
  2. 人工智能 - 电子书下载(高清版PDF格式+EPUB格式)
  3. 传递闭包c语言算法解析,找关系的传递闭包 用c语言编 一个关系的传递闭包
  4. 常见视频接口知识点汇总(精华)
  5. 拆解一个老式电感电容表
  6. 可作为工质状态参数的是_§2工质的热力状态及其基本状态参数
  7. 支招功能最强人工智能围棋软件_AI智能棋盘全新上线,围棋的奥秘原来在这里?...
  8. 图像识别距离算法matlab
  9. fspecial matlab 自己实现,matlab中fspecial中生成高斯模板的解释以及c语言兑现
  10. 微信小店 没有服务器,微信小店商家后台配置说明