[操作系统] FAT文件系统概述
文章目录
- 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文件系统概述相关推荐
- Linux 文件系统概述
1.什么是文件系统: 请参见:<Linux 文件系统概述> 2.文件系统的组织结构简说: 当您使用Linux的时候,如果您通过ls -la / 就会发现,在/下包涵很多的目录,比如etc. ...
- 操作系统之文件管理系统
操作系统之文件管理系统 一.初识文件管理 一.前景回顾 二.文件的属性 一个文件有哪些属性: 文件名:由创建文件的用户决定文件名,主要是为了方便找到用户找到文件,同一目录下不允许有重名文件. 标识符: ...
- 论述Linux文件系统,linux文件系统概述
操作系统的主要几大管理系统,如进程管理调度系统.内存管理系统.文件系统.在我们平时使用操作系统的过程中,我们接触最多的就是文件系统.因为我们平时无论工作还是生活,我们都要编辑文件 创建文件 来记录具体 ...
- 【王道考研操作系统】—文件的基本操作
[王道考研操作系统]-文件的基本操作 一.文件的逻辑结构 按文件是否有结构分为:无结构文件.有结构文件两种. 无结构文件:文件内部的数据就是一系列二进制流或字符流组成.又称流式文件,如Windows操 ...
- Linux操作系统:文件和目录命令
dba基础课程-Linux操作系统:文件和目录命令 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~us ...
- 簇是操作系统读写文件的基本单位
微软操作系统(DOS.WINDOWS等)中磁盘文件存储管理的最小单位叫做"簇" 数据存储在硬盘的时候都是以簇为单位,所以无论文件大小是多少,除非正好是簇大小的倍数,否则文件所占用的 ...
- JFS 文件系统概述及布局分析
JFS 文件系统概述及布局分析 日志文件系统如何缩短系统重启时间如果发生系统崩溃,JFS 提供了快速文件系统重启.通过使用数据库日志技术,JFS 能在几秒或几分钟之内把文件系统恢复到一致状态,而非日志 ...
- oracle文件系统挂载点,挂载和取消挂载文件系统概述
挂载和取消挂载文件系统概述 需要首先挂载文件系统,然后才能访问该文件系统上的文件.挂载文件系统时,需要将该文件系统附加到目录(挂载点)并使其对系统可用.始终会挂载根目录 (/) 文件系统.可以将其他任 ...
- STM32F103读取SD卡的数据(fat文件模式)
实验目的 掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式). 实验原理 SD卡寄存器 SD卡总共有8个寄存器,用于设定或表示SD卡信息. 这些寄存器只能通过对应的命令访 ...
- STM32F103完成对SD卡的数据读取(fat文件模式)
目录 一.关于SD卡 1.简介 2.SD卡的寄存器 3.SD卡读取与写入(SPI模式) 二.实验操作 1.仪器 2.代码 3.连线 4.烧录程序 5.串口调试助手初始化并写入文件 6.sd卡里hell ...
最新文章
- 机器人流程自动化技术的新发展
- 如何实现分类表统计数目和详情表数量同步
- MongoDB入门教程(1)
- ie8不发送ajax,IE8用ajax访问不能每次都刷新的问题
- Spring中的Bean是如何被回收的?
- Xshell5远程连接Linux工具设置
- 睿智的目标检测26——Pytorch搭建yolo3目标检测平台
- Transphorm推出第四代GaN平台及SuperGaN™功率FET
- unity2D 箭头动画(给猛虎桥章节做动画演示一)
- html文本间距1.5倍怎么设置,行距怎么设置18磅
- Linux下打开ISO文件两种方法
- java 调用foxmail_JavaMail(JAVA邮件服务) API详解
- python配色_[转]修改Python IDLE代码配色及语法高亮主题
- Oracle中scott数据库,浅析Oracle中sys、system和Scott用户下的数据库连接问题
- 【PowerBI】CALCULATE函数应用
- Acer主板装系统报reboot and select proper boot device
- 【调度】遗传算法的基本理论
- 管理的最高境界不是完美
- FPGA入门学习笔记(十四)Vivado实现数码管段码显示以及动态扫描
- max31865模块RTD测温注意事项
热门文章
- caxa 二次开发 应用程序框架分析
- 人工智能 - 电子书下载(高清版PDF格式+EPUB格式)
- 传递闭包c语言算法解析,找关系的传递闭包 用c语言编 一个关系的传递闭包
- 常见视频接口知识点汇总(精华)
- 拆解一个老式电感电容表
- 可作为工质状态参数的是_§2工质的热力状态及其基本状态参数
- 支招功能最强人工智能围棋软件_AI智能棋盘全新上线,围棋的奥秘原来在这里?...
- 图像识别距离算法matlab
- fspecial matlab 自己实现,matlab中fspecial中生成高斯模板的解释以及c语言兑现
- 微信小店 没有服务器,微信小店商家后台配置说明