MFT的簇流数据结构详解
2016-07-09 17:37
232 查看
上节课我们已经知道非常驻属性的属性体是一个簇流信息。那么簇流信息具体是什么呢。簇流其实是用来描述数据内容的存放地址。簇流信息可以是一组簇流或者多组,一组簇流信息表示这个数据内容只有一个片段是连续的。如果是多组簇流信息,那么就说明这个数据内容是有多个片段组成是,是不连续的。
每一组簇流信息是由3部分组成。
第一部分描述后面两组成簇流信息所需要的字节数。
第二部分描述这个簇流所占用的簇数。
第三部分描述这个簇流的起始簇号。
如果后面不是紧跟着00,就表示后面还有簇流信息。
上图有两个簇流信息
32 40 19 00 00 0C为一组簇流信息
32 80 0B 40 C8 F4为另一组簇流信息
这两组簇流信息分别表示
32 40 19 00 00 0C :
32表示后面两个字节40 19 是簇流片段占用的簇数也就是0x1940等于6464簇
后面3个字节 00 00 0C是簇流片段的起始簇号(由于这里是第一个簇流信息,所以这个起始簇号是相对与文件系统的0号簇的)也就是0x0C0000等于786432簇。
后面一组簇流信息
32 80 0B 40 C8 F4
32表示后面的两个字节80 0B是簇流片段占用的簇数也就是0x0B80等于2944簇。
后面3个字节 40 C8 F4 是簇流片段的起始簇号(由于这里是第二个簇流信息,所以这个起始簇号是相对与第一个簇的起始簇786432)也就是0xF4C840等于16042048簇+786432簇。所以第2个簇流片段的起始簇号是16828480簇
每一组簇流信息是由3部分组成。
第一部分描述后面两组成簇流信息所需要的字节数。
第二部分描述这个簇流所占用的簇数。
第三部分描述这个簇流的起始簇号。
如果后面不是紧跟着00,就表示后面还有簇流信息。
上图有两个簇流信息
32 40 19 00 00 0C为一组簇流信息
32 80 0B 40 C8 F4为另一组簇流信息
这两组簇流信息分别表示
32 40 19 00 00 0C :
32表示后面两个字节40 19 是簇流片段占用的簇数也就是0x1940等于6464簇
后面3个字节 00 00 0C是簇流片段的起始簇号(由于这里是第一个簇流信息,所以这个起始簇号是相对与文件系统的0号簇的)也就是0x0C0000等于786432簇。
后面一组簇流信息
32 80 0B 40 C8 F4
32表示后面的两个字节80 0B是簇流片段占用的簇数也就是0x0B80等于2944簇。
后面3个字节 40 C8 F4 是簇流片段的起始簇号(由于这里是第二个簇流信息,所以这个起始簇号是相对与第一个簇的起始簇786432)也就是0xF4C840等于16042048簇+786432簇。所以第2个簇流片段的起始簇号是16828480簇
相关文章推荐
- 二叉树基础-文本二叉树(数据结构基础 第5周)
- 数据结构 -->线性表的链式实现 ADT
- java中自己用过的数据结构(队列Queue、优先级队列PriorityQueue和栈Stack),及其分别的应用场景
- 天梯赛 L2-012. 关于堆的判断 数据结构
- 红黑树详解 原理 史上最强 精华
- 树形结构与层次结构相互转换
- MySQL索引背后的数据结构及算法原理
- 红黑树--(下)
- 二叉树应用-最小堆类模板的实现(数据结构基础 第6周)
- Donut Decoration
- 二叉树基础-实现堆结构(数据结构基础 第5周)
- 数据结构高分笔记 算法2-18~2-19:双向循环链表
- 单链表查找倒数第k个元素
- 树的实现和二叉树的定义
- 【数据结构与算法】十八 二叉树遍历 DFS 深度优先 迭代算法
- 数据结构高分笔记 算法2-8~2-11:链表的基本操作
- 若干数据结构 && 算法面试题【四】(更新ing)
- 数据结构高分笔记1327||HNCU1327:算法2-13~2-16:静态链表
- 红黑树
- 天梯赛 L2-011 玩转二叉树 数据结构