fat16的fdt说明

操作系统实验——简易FAT16文件系统的实现 操作系统实验——简易FAT16文件系统的实现前言实验要求FAT16基础知识磁盘组成部分分区原理思路完整代码 前言 暑假啦!呼,所有的补课终于也都结束了,虽然绩点还是一如既往的拉跨,但是很庆幸自己还是熬过来了,唯一有点小遗憾的是信安大赛没能进入到决赛,有点小可惜吧但也在意料之中,虽然尽力了但一个月准备的作品哪能有别人准备了那么久的作品成熟呢。好了回到正题,这是一个非常非常简陋的文件系统,也是在考试月最后的一个大实验,所以也是紧赶慢赶。接下来介绍一下代码思路,最后也会给出完整代码。 实验要求 实现一个简单的类 阅读详情

FDT:File Directory Table,文件目录表。
通过BPB分析可知,根目录可存放512条目录信息。根据FAT16文件系统规定,每个目录条信息大小为32字节,即根目录占用32个扇区,16KB空间。

根目录中仅存储进入该磁盘卷后,看到的所有文件和文件夹的目录条信息。
对于根目录文件夹下的子文件夹和文件,均存储在数据区。

每个目录条为32字节表示。含义如下:
在这里插入图片描述
文件名
上表中8(主文件名)+3(扩展名)表示文件名,这种格式为短文件名格式。
扩展名若没有,则用空格填充。

文件属性
文件属性表示的方法是按二进制位定义,最高两位保留未用。

文件时间
0x0D偏移量的字段为文件创建时间精确到10ms的值。例如:如果值为86H,十进制为134,所以文件创建的时间为1340ms,即1.34s。

0x0E~0x0F偏移量字段表示文件创建时间,定义如下:
0-4位,这5位记录秒的值,单位是2s,也就是把这四位的值乘以2,才是秒的值,其取值范围为0-29。
5-10位,这6位记录分的值,其取值范围为0-59。
11-15位,这5位记录时的值,其取值范围为0-23。
计算出来的值再加上1340ms。才是文件最终的创建时间。

0x10~0x11偏移量字段表示文件创建日期,定义如下:
0-4位,这5位记录日的值,其取值范围为0-31。
5-8位,这4位记录月的值,其取值范围为0-12。
9-15位,这7位记录年的值,其取值相对于1980年开始计数的,其值必须加上1980。

文件最近访问日期:同文件创建日期算法一样。
文件修改时间:同文件创建时间算法一样。
文件修改日期:同文件创建日期算法一样。

文件位置
0x1A~0x1B偏移量字段表示文件位置,即蔟号。注意数据区起始蔟号为2号蔟。

文件大小
0x1C~0x1F偏移量字段表示文件,单位为字节。

重要字段:文件名、扩展名、文件属性、文件首蔟号、文件长度。

长文件名
如果文件名超过8字节,系统根据文件名的长度,分配多个32字节的目录项用于保存长文件名,格式如下:
在这里插入图片描述
注意:长文件名中文件名的表示每个字符用两个字节表示。

为了兼容DOS与Winddows 3.x在Winddows 95以上的系统中,超过8.3格式的文件或目录实际存储着两个名字,一个短文件名和一个长文件名。当创建一个长文件名时,其对应的短文件名的处理有以下三个原则:
A:系统取长文件名的前6个字符加上“~1”,形成短文件名,其扩展名保持不变;
B:如果已经存在这个名字的文件,数字自动加1,如“~2”;
C:如果有DOS与Winddows 3.x的非法字符,以“_”替代。
例如新建一个名为+++的文件夹:
在这里插入图片描述
这里可以看出,文件名为1.txt,文件存储的蔟号为0、长度为0,说明1.txt中为空。
在这里插入图片描述

长文件名文件:
在这里插入图片描述
这里可以看出,文件名为0123456789.txt,占用了三个目录条。文件存储的蔟号为0、长度为0,说明0123456789.txt中为空。

长文件名文件:
在这里插入图片描述
43表示结束,序号为3。
这里可以看出,文件名为111111111111111111111111111111.txt文件,占用3个目录条。文件存储蔟号为第8蔟,文件大小为3字节。

短文件夹文件:
在这里插入图片描述
这里可以看出,文件夹名为2,存储蔟号为0,大小为0,表示为空文件夹。

长文件夹文件:
在这里插入图片描述
这里可以看出,文件夹名为33333333333333333,占用3个目录条。存储蔟号为0,大小为0,表示为空文件夹。

111.txt文件定位和查看:
在这里插入图片描述
根目录在24号扇区,根目录占用32个扇区,即24-55号扇区。
则数据区从56号扇区开始,数据区的起始扇区位于2号簇。
根据111.txt的目录条信息可知:111.txt文件位于6号簇,大小为1字节。
56号扇区为第2号簇,每个簇占8个扇区。
111.txt文件位于第56+(6-2)*8=88号扇区。
跳转到88号扇区即可查看111.txt的文件内容。

子目录定位和查看:
在这里插入图片描述
".“和”…"目录:
在子目录所在的文件目录项区域中,总有两个特殊的目录,“.”目录项和“…”目录项可以用DOS命令的DIR查看到。说明:
A:“.”目录项所描述的起始簇号,是子目录本身所在簇号;
B:“…”目录项所描述的起始簇号,是上一级目录的起始簇号,如果上级目录为根目录,则起始簇号被设置为0;
C:这两个目录都大小被设置0,同其他的文件夹目录项一样。
系统利用“.”目录项(当前目录)和“…”目录项实现目录之间的双向联系,从而把整个文件系统联系在一起。

文件删除:删除文件或目录。
(i)短文件名的占的目录项第1个字节被改写成E5H。
(ii)长文件名占的目录项第1个字节也被改写成E5H。

FAT16文件系统之目录项分析(四) FAT16文件系统的FDT分析 1:FDT位置 FDT的含义为文件目录表,它在一个文件系统中的具体位置是紧跟在FAT2之后。 定位过程: A:系统通过读取该分区表信息,定位到其DBR扇区 B:读取DBR的保留扇区数(OEH –0FH). C:读取每个FAT扇区数(16H – 17H) D:读取FAT表的个数保留扇区当数 +  FAT个数 * 每个FAT扇区数 FDT的数据内容 阅读详情

相关推荐

FSL中FDT的相关操作——数据转换、EDDY、DTIFIT、BEDPOSTX、Registration

脑纤维束数据处理与定量分析 使用FSL对弥散成像数据进行处理,在FSL的官网上给出了指导,笔者参考官网的指导整理了处理数据的流程如下 处理流程 数据格式转换(需要手动完成) 检查弥散数据(详细的过程在后面) 使用topup进行磁化率引起的失真校正(场图估计) 使用BET进行剥脑操作 使用eddy进行涡流失真校正,同时校正涡流和对象运动,它还可以使用由充值估算的场图,并校正磁化率引起的失真(操作时间过长,单线程CPU可能需要数小时或是数天,多线程会减少时间,使用GPU加速会快很多) 经过eddy之后,所有

luschka的博客 9328

从0到1写自己的Linux x86操作系统

本课程采用从0行代码编写的方式,带你写一个x86操作系统,从而深入掌握操作系统的工作原理。 

SD在fat16读取数据

C   前段时间用FPGA上的NIOS写了个贪吃蛇的程序,由于上次在论坛上写了好久,结果保存的时候提示我说提交错误,后来就贴了几张图片上去了,这几天弄了个俄罗斯方块的程序和SD卡读txt文件的程序,在这里和大家交流一下。 大家都知道SD卡有两种模式,SD总线模式和SPI总线模式,由于以前用过SPI总线,在这里就利用SPI总线来完成SD卡的读取。 大家知道在SD卡上电的时候会自动进入SD总线

gongjihua的专栏 920

winhex手工恢复FAT16文件系统

根目录项(Root entries)为512,每个目录项占用32字节,所以FDT(File Directory Table)共占用51232/512=32个扇区。这512个目录项是根目录下所有登记项的总和,包括卷标、子目录和文件。 公式 精确方法:FAT扇区数 = (扇区总数+2每簇扇区数 – 32 – 保留扇区数)/(256每簇扇区数) 例:FAT扇区数 = (3915713+128-32)/(25664)= 238.99029541015625=239扇区 粗略方法:FAT扇区数:FAT用两个字节记录一

陈铭泉的博客 1029

FAT16文件系统详尽解析与编程实践

本文还有配套的精品资源,点击获取 简介:FAT16文件系统是一种重要的早期文件系统,其核心是文件分配表,它定义了数据存储方式,并优化了对小型存储设备的空间利用率。FAT16的簇大小与分区大小有关,且具有特定的最大分区限制。文件在FAT16中非连续存储,文件系统使用目录项来组织文件和子目录。尽管FAT16具有简单和兼容性强的优点,但也存在效率和空间利用率的问题。该课程提供了F...

weixin_36304957的博客 1694

联想拯救者恢复出厂设置全攻略

通过本文介绍的几种方法,你可以轻松地将联想拯救者恢复到出厂系统状态。无论是通过Windows恢复选项、高级启动选项还是一键恢复功能,都能帮助你解决系统问题、清除个人信息或重置软件环境。在重置前,请务必备份重要数据,并确保了解重置的影响。重置完成后,进行适当的系统设置和软件安装,让你的联想拯救者焕然一新,继续为你提供高效、稳定的计算体验。

mmoo_python的博客 3252

WinHex数据恢复 (FAT16基础)

WinHex数据恢复-FAT16(基础)

m0_62665450的博客 612

英飞凌ADS开发环境搭建全流程:从安装到第一个程序烧录

本文详细介绍了英飞凌ADS开发环境搭建的全流程,包括环境准备、ADS安装与配置、MemTools烧录技巧等关键步骤。针对嵌入式开发者,特别提供了从安装到第一个程序烧录的实战指南,涵盖常见问题解决方案和优化建议,帮助开发者快速上手英飞凌AURIX系列微控制器的开发工作。

qsc901234的博客 333

FAT16与FAT32文件系统结构的主要区别

1.磁盘数据组织结构的区别总体上FAT32与FAT16文件系统变化不大,文件系统仍然将逻辑盘的空间划分为DBR引导区(BOOT区)、文件分配表(FAT)、根目录表(FDT)和数据区(DATA区)。但有以下区别:·FAT16只有一个DBR,且只占用逻辑0扇区;FAT32中的DBR多了一个副本,分别起始于逻辑0扇区(xx柱、0头、1扇区)和逻辑6扇区(xx柱、0头、7扇区)。·FAT32在DBR副

千金甜果的专栏 9878

CANoe/CANalyzer新手必看:从零配置到报文分析的完整流程(附B站官方教程实操)

本文为CANoe/CANalyzer新手提供从零配置到报文分析的完整流程指南,涵盖硬件连接、工程配置、报文捕获及信号级分析等关键步骤。通过详细的实操案例和B站官方教程,帮助工程师快速掌握汽车电子总线分析工具的核心应用,提升诊断效率与通信系统理解。

y7z8a的博客 771

【华为OD机试真题 2025C卷新题】855、识文断句 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷新题】855、识文断句 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华为

KJ.JK 1850

FAT16和FAT32目录结构分析

一、前言 FAT16和FAT32从原理上看是同一类技术,放在一起分析,有助于了解其细节差异; 先回归一下FAT16、FAT32分区的大致结构如下: 从分区结构上看,FAT16和FAT32目录结构比较不一样的地方在于: FAT16多了一个根目录区,根目录区由FDT目标表项组成,每一个分区表项占32字节;由于根目录区大小在格式化的时候就固定下来了,所以根目录下的文件夹和文件的个数是固定了,取决于DBR中根目录项个数的配置,最多只能是512个 那么子目录存放在哪里? 存放在数据区中 FA...

无限之生 4884

汇川Easy系列PLC系统PID指令编程应用(增量型)

增量式PIDS7-1200/1500增量式PID(输出归一化、支持PWM输出)_西门子1200pid算法公式-优快云博客文章浏览阅读1k次。本文介绍了S7-1200/1500 PLC中增量式PID算法的应用,包括输出归一化和PWM输出。通过详细解析,阐述了PID输出如何限制在0.0-1.0之间,并且如何将PID输出与PWM占空比关联,适用于温度等控制场景。

RXXW_Dor的博客 1422

文件目录表(FDT)及其结构

用FORMAT命令对磁盘(或逻辑盘)进行格式化的时候,就已经为整个硬盘建立了一个根目录FDT。在根目录下,用户可以用DOS命令"MD"再创建不同的各个子目录,以及子目录下的子目录。根目录以及各级子目录都有自己的FDT。在具体操作中,系统规定用字母C-Z代表逻辑盘符,所以DOS简单地用“[盘符:]/”表示在根目录下。根目录的作用是分配根目录下的所有文件和子目录的存储空间(逻辑扇区号),并且通过设备驱

千金甜果的专栏 5484

YOLO骨干网络改进-第1篇:深度解析YOLOv8的C2f模块原理与实现

首先,需要将自定义的C2f模块注册到Ultralytics的模块字典中。# 注册自定义模块"""自定义的C2f模块。"""# 自定义YOLOv8s配置文件:yolov8s_custom.yamlscales:# Backbonebackbone:# Headhead:# 加载自定义模型# 训练模型imgsz=640,batch=16,device=0,workers=8,设计理念:C2f模块是C3模块的演进,通过增加梯度分支来丰富梯度流,提升特征表示能力。结构原理。

2201_76125393的博客 110

广义正态分布优化算法(GNDO)详解:从理论到实践

广义正态分布优化算法(GNDO)是一种基于正态分布理论的新型元启发式优化算法。该算法通过局部开发和全局探索两种策略平衡搜索过程:局部开发利用广义平均位置和标准差进行精细搜索,而全局探索通过随机个体信息共享扩大搜索范围。GNDO具有参数少、结构简单、收敛速度快等优点,在光伏模型参数提取等工程优化问题中表现优异。算法将种群位置更新与正态分布参数调整相联系,通过自适应机制平衡探索与开发,数学分析表明其具有全局收敛性。相比传统优化算法,GNDO在探索能力和开发能力上均有优势,是高维复杂优化问题的有效解决方案。

qq_42212808的博客 138

android 读写sd文件系统,SD卡FAT16文件系统的学习笔记

一、读文件的流程读物理扇区0,得到引导扇(逻辑扇区0)的偏移地址。读引导扇的内容,得到文件系统基本配置信息。根据文件系统的基本配置信息计算FAT,FDT,数据簇的起始地址和大小。根据要读的文件名搜索FDT表,找到要读文件的起始数据簇编号,大小。根据文件的起始数据簇编号在FAT表中查找所有该文件占用的数据簇及数据簇访问的先后关系。读取该文件的起始数据簇的内容,及下一数据簇内容(有需要时)。二、读取物...

weixin_39739395的博客 704

Plant Simulation智能行车/天车/起重机建模(1)-基本对象说明

摘要: MultiPortalCrane(多门式起重机)是一种灵活物料搬运设备,适用于造船、钢铁等行业,支持零件预组装、钢板/钢卷智能料场管理及设备装卸。其特点包括: 多门架协同:支持同轨道多门架运行,内置防撞检测; 模块化控制:可独立调节门架、小车及吊钩的速度、加速度和悬臂长度; 多样化搬运:通过目标位置设置或连接器实现零件运输; 故障与统计:可配置MTTR和可用率,实时监控各部件状态。 通过对话框可自定义轨道尺寸、门架数量及运动参数,并支持编程调用(如getPortals方法)。适用于需高精度定位和协同

qq_31964455的博客 315

FAT16 FAT32 文件系统

AT,英文为File Allocation Table,文档分配表。 先要记住几个概念: 扇区:一般扇区为512个字节。 簇:由若干个扇区组成。 而FAT文件系统(其他文件系统应该相似)就是专门管理这些簇的。一个文件可能占据一个或者多个簇,按正确的顺序去读取这些簇,就可以获取这个文件的内容了。 FAT16, FAT32的区别 FAT16是用16位即2个字节来

且行且珍惜 8662

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SD卡FAT16文件系统的学习笔记

一、      读文件的流程 1.       读物理扇区0,得到引导扇(逻辑扇区0)的偏移地址。 2.       读引导扇的内容,得到文件系统基本配置信息。 3.       根据文件系统的基本配置信息计算FAT,FDT,数据簇的起始地址和大小。 4.       根据要读的文件名搜索FDT表,找到要读文件的起始数据簇编号,大小。 5.       根据文件的起始数据簇编

songric的专栏 2037

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

浅析FAT32文件系统

浅析FAT32文件系统

AndrewLi的博客 2006

MBR、DBR、FAT、FAT 各部分简单介绍

文章目录MBR:主引导记录DBR:操作系统引导记录扇区FDT:文件 目录表FAT:文件系统中的文件分配表 MBR:主引导记录 创建时间:由分区软件(Fdisk/PartitionMagic/Windows 2000/Windows XP安装 工具等)给 硬盘分区时建立的。 功能 :存放硬盘分区信息和引导系统时检查分区。 作用范围:MBR和虚拟MBR控制着整个硬盘的所有分区信息,可定义1~4个不等的分区,作用范围是全局性的。 所占硬盘空间大小:占1个扇区 512字节 位于 :硬盘的0柱面,0磁道,1扇区

流楚丶格念的博客 4609

FAT32

FAT32分区的基本构成:1.DBR硬盘各分区的逻辑管理方式表现为,所有分区内的逻辑扇区都是从“0”开始编号,直至其最大值-1,涵盖整个分区,分区内的0扇区称为BOOT区。由Format命令将DOS引导记录(DBR)写到该扇区,主要功能是完成系统的自举。DOS引导扇区结构如下:(1)跳转指令(2)厂商标识和DOS版本号,占8个字节(03-0A)(3)BPB(BIOS Parameter Block,BIOS参数块)(4)DOS引导程序,负责完成DOS三个系统文件的装入(5)结束标专“55AA”硬盘DOS引导

dylan的专栏 4164

FAT16文件系统之DBR(二)

FAT16文件系统的DBR由5部分组成,跳转指令,OEM,BPB,引导程序,结束标志

一个专研技术的小蜜蜂的博客 3674

FAT文件系统详解(二)

前序 上一篇文章主要讨论了硬盘的构造、分区表的含义、每个分区中的划分,虽然是指的FAT16文件系统,其实,也同样适用于FAT32文件系统,因为FAT32是兼容FAT16的,FAT16和FAT32到底差别在哪里? 第一,FAT表表示一个簇号的差异:FAT16用2个字节(16bits),FAT32用4个字节(32bits),因此FAT32能够表示更多的簇号。 第二,FAT32分区中并不单独存在FDT目...

agony_isolate的博客 4万+
上一篇: 使用winhex对fat16文件系统分析
下一篇: fat32文件系统分析
freedomAfish
博客等级 码龄15年 19粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值