FAT学习笔记(五)——FAQ
来源:互联网 发布:华为大数据案例分析 编辑:程序博客网 时间:2024/05/01 14:29
1,fat32中一个文件至少要占用整数个cluster,一个cluster要占用2的整数次幂个数的sector,fat32中要使用cluster的原因是:因为如果要写入一个大档案,如果用sector的配置方式,那么sector数量就很大,并且分配在零散的空间,不便于管理,又由于cluster是连续的sector,所以可以加快访问时间。
如何知道某个file/dir占用的起始cluster? 答:根据dir entry structure
如何知道某个file/dir含有哪些clusters? 答:根据FAT table
2,为什么FAT12和FAT16的RootDir单独占用region,其大小由 BPB_RootEntCnt指定,而FAT32取消了这个,RootDir直接放在cluster2的位置?
答:如果开始就将RootDir里的dir entry structire占用的cluster个数定下来的话,这样根目录下能放的目录或者文件个数就已经有了最大的限制,因为一个dir entry struct占用32byte,所以一个cluster能占用的dir entry struct个数是固定的。
3,当一个目录的档案非常多导致一个cluster不够用的时候,系统可以再分配一个cluster给这个目录,同时修改这个目录对应的FAT表,所以上述方法使得子目录的个数只受磁盘容量的限制。
4,根目录的起始cluster是固定的(从bootsector可以读出,FAT32的root dir cluster通常为2),根目录的dir entry的DIR_Attr为ATTR_VOLUME_ID,并且其dir entry里的DIR_FstClusLO为0,根目录所在的cluster(FAT32通常为cluster2)里记录了根目录下子目录或者根目录下文件的dir entry信息,比如根目录下有三个文件 A B C和三个目录D E F,那么cluster2里前会有6个dir entry,分别记录A B C D E F的dir entry信息,A B C文件真正的内容则会根据cluster2里A B C对应的dir entry找到存放文件真正内容的cluster,存放文件真正内容的cluster里不会再次记录文件的dir entry信息。
- FAT学习笔记(五)——FAQ
- FAT32学习笔记(五)——fat相关工具
- FAT学习笔记(四)——Dir Entry
- JavaScript FAQ(五)——数字
- MySQL学习笔记——FAQ
- FAT学习笔记(三)--FSInfo
- FAT driver学习笔记(一)
- fat文件系统学习笔记
- Disruptor笔记(五)-FAQ
- Disruptor笔记(五)-FAQ
- Dom4j学习笔记---FAQ
- 学习笔记(五)
- 学习笔记(五)
- Linux FAQ 与学习笔记
- C++ FAQ学习笔记 21章 继承 — 适当的继承和可置换性
- C++ FAQ学习笔记 22章 继承 — 抽象基类(ABCs)
- C++ FAQ学习笔记 23章 继承 — 你所不知道的
- C++ FAQ学习笔记 24章 继承 — 私有继承和保护继承
- Android构建boot.img(一):root目录与ramdisk.img的生成
- 第一章—介绍原子性,条件同步以及自旋和阻塞的区别
- 索引的十一种功能
- HDU_4971_A simple brute force problem.(最大权闭合图)
- ORA-01552 :非系统表空间 'xxxx'不能使用系统回退段
- FAT学习笔记(五)——FAQ
- Android构建boot.img(二):kernel的拷贝与打包
- Mysql 数据库添加数据问题(版本问题)
- 文摘---忙碌的时空分一丝看看
- 一致性hash算法
- IO - 同步,异步,阻塞,非阻塞
- svn: Can't convert string from 'UTF-8' to native encoding:
- memcpy sprintf strcpy 的比较
- 关于GP服务执行成功,但不返回结果要素的问题