找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7113|回复: 4
打印 上一主题 下一主题
收起左侧

FAT32文件系统详解(中文版)共24页pdf

  [复制链接]
跳转到指定楼层
楼主
译注:  
    刚完成的项目内容涉及FAT 文件系统,因此在查阅手册的同时把文档翻译了一下,希望能对那些和我
一样初次使用FAT 的朋友有所帮助。因本人对FAT 并不十分了解,翻译所做的也只是文字表面工作,出现
各种错误在所难免,因此:本文只适用于初学者作为了解材料,需要获得技术信息的朋友请查阅原版英文
资料!  
   发现错误的朋友请mail指正,本人将不胜感激。  
   
原文长5页,大意是告诫人们不要使用D 版云云,此略。  
本文的一些约定
    以字符“0x”开头的数字为16进制,若开头没有字符“0x”则表明该数字为 10进制。  
    本文的程序使用C 语言书写,书写风格可能与教科书中严格定义的有所出入。  
    一些变量在程序中没有注明其数据类型是 16-bit还是 32-bit,因为我们知道你有能力正确地完成这
些数据类型之间的转换,并保证在转换 32-bit 为 16-bit 的过程中不会造成数据丢失。同时请注意,所有
的数据类型均是无符号类型(UNSIGNED),不要尝试使用有符号整形(signed integer types)来进行 FAT
运算,否则一些FAT 卷将会因此而出错。
概述(适用于所有FAT 类型)
   起先所有的FAT 文件系统都是为 IBM PC 机器而设计的,这说明了一个重要的问题:FAT 文件系统在磁
盘上的数据是以“小端” (little-endian) 结构存储的。我们使用 4 个 8-bit 的字节 --  起始字节为
byte[0],结束字节为 byte[3] -- 来存储一个 32-bit 的 FAT 项(FAT entry)。然后分别给这 32 位编号为
00-31,从下表我们可以清楚地看到这 32位是如何排序的(最低位为00).  
    byte[3] 3 3 2 2 2 2 2 2
            1 0 9 8 7 6 5 4
    byte[2] 2 2 2 2 1 1 1 1
            3 2 1 0 9 8 7 6
    byte[1] 1 1 1 1 1 1 0 0
            5 4 3 2 1 0 9 8
    byte[0] 0 0 0 0 0 0 0 0
            7 6 5 4 3 2 1 0
    这对于那些使用“大端”(big-endian)存储结构的机器就显得尤为重要,因为在磁盘存取数据之前,
必须先完成big-endian 和 little-endian之间的转换。  
    每个FAT 文件系统由4 部分组成,这些基本区域按如下顺序排列:  
    0 – 保留区(Reserved Region)  
    1 – FAT区(FAT Region)  
    2 – 根目录区(Root Directory Region, FAT32卷没有此域)  
    3 – 文件和目录数据区(File and Directory Data Region)  


完整的pdf格式文档51黑下载地址(共24页):
FAT32中文版.pdf (1.36 MB, 下载次数: 105)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:245327 发表于 2018-2-9 21:43 | 只看该作者
谢谢分享,最近在了解FAT32正好可以,学习一下。
回复

使用道具 举报

板凳
ID:276663 发表于 2018-2-28 11:11 | 只看该作者
其实我是想看FAT的代码详解的,结果看到了楼主的这个。
回复

使用道具 举报

地板
ID:743026 发表于 2020-5-2 21:42 | 只看该作者
了解一下快快快
回复

使用道具 举报

5#
ID:958982 发表于 2021-8-5 10:56 | 只看该作者
谢谢分享,最近在了解FAT32正好可以,学习一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表