FAT文件系统 文件的创建和删除
2021-07-01
727
0
文件的创建步骤
假设在名为“子目录1”的文件夹下创建一个名为”文件1.txt”,文件系统FAT32的簇大小为4096字节,文件大小5000个字节。
- 读取该分区(卷)保留扇区的0号扇区即引导扇区,根据引导扇区的信息找到FAT表,数据区和根目录的位置(2号簇地址)。
- 根据“子目录1”所在的路径,逐步从根目录解析,找到名为“子目录1”的且具有目录属性的目录项。找到该目录项后,查看该目录项的起始簇号。
- 读取“子目录1”起始簇的内容,查看目录项并找到一个未使用的目录项。
- 在刚找到的一个未使用项中写入文件名为”文件1.txt”,大小为5000字节,根据系统时间写入相关的时间等信息的目录项。
- 在FAT表中找到空闲的簇,并将该簇号更新到刚写入的文件目录项的起始簇中。
- 写入前4096个字节到刚找到的空闲簇中。
- 继续查找另一个空闲的簇,将剩余的904字节写入该簇中。
- 将写入剩余904字节对应的簇号写入FAT表中写入4096字节对应的FAT中。
- 将刚写入904字节对的FAT表中的簇号写入结束标记(FFFFFF0F)。
文件的删除
一件文件被删除时,它的目录项的第一个字节被置为0XE5,并且将文件内容相应的FAT项置为0以说明原料来分配该文件的簇被取消分配,其它不作任何变动。
同理我们删除刚写入“子目录1”下的“文件1.txt”
- 读取该分区(卷)保留扇区的0号扇区即引导扇区,根据引导扇区的信息找到FAT,数据区和根目录的位置(2号簇地址)。
- 根据“子目录1”所在的路径,逐步从根目录解析,找到名为“子目录1”的且具有目录属性的目录项。找到该目录项后,查看该目录项的起始簇号
- 读取“子目录1”起始簇的内容,查看目录项并找到一个名为”文件1”的目录项,并找到它的起始簇号。
- 在FAT表中找该文件对就的簇链,分别对其FAT表内容清空置0
- 将文件“文件1.txt”目录项的每一个字节改为0xE5.