索引记录结构_第1页
索引记录结构_第2页
索引记录结构_第3页
索引记录结构_第4页
索引记录结构_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、索引记录结构 根目录 目录记录结构 一个目录的MFT记录将其目录下的文件名和子目录名进行排序,井保存在索引根属性 中。然而,对于一个大目录,文件名实际存储在组织文件名的固定4KB大小的索引缓冲 区中。缓冲区是通过B+树数据结构实现的。根索引属性包含B+树的第一级(根子目录) 并指向包含下一级(大多数是子目录,也可能是文件)的索引缓冲区中。 图只显示了根索引属性中的文件名和索引缓冲区。但是索引中的每一项还包括了位于 MFT中的描述文件所在位置的文件引用以及文件时间和文件大小等信息。NTFS根据文 件的MFT记录来复制时间标记和文件大小信息。这种技术需要将更新信息写在两个地 方,比较麻烦。但是,这

2、仍是一个提高目录浏览速度的好方法,因为它可以在文件系 统不打目录中任何文件的情况下显示每个文件的时间标记和大小。 索引分配属性包含了索引缓冲区的VCN到LCN映射,而位图属性跟踪在索引缓冲区中 哪些VCN是在使用而哪些是空闲的。图显示了每个文件项占有一个VCN,而实际上多 个文件项被包装在同一个簇中。每个4KB大小的索引缓冲区可以容纳20到30个文件项。 在NTFS中,目录也是一种文件,也使用文件记录进行管理。 90H属性 该属性($INDEX_ROOT,索引根)是实现 NTFS的B+树索引的根节点。总是常驻属性。 属性结构如下: 标准属性头 索引根头 索引节点头 索引项 索引项 90H属性

3、90H属性头 90H属性头 常用索引列表 索引根头结构 从该表可知,此索引为0 x30索引,也就是$130索引,用于目录排 序,排序规则为0 x01,表示按Unicode字符顺序排序,索引项分 配大小为0 x1000,也就是每个索引项使用4096字节,每索引记录 的簇数为1,表示每索引记录为1簇4KB。 偏移大小描述 标准属性头 0 x004索引属性类型(0 x30) 0 x044排序规则(01,Unicode规则) 0 x084索引项分配大小(0 x100,4096字节) 0 x0C1每个索引记录的簇数 0 x0D3填充0 索引节点头结构 偏移偏移大大 小小 含义含义 0 x004索引项列表

4、起始位置偏移(相对于节点头) 0 x044索引项列表已用部分的结尾偏移 0 x084索引项列表缓冲区的结尾偏移 0 x0C4标志,如果有其他子节点指向该节点,则将将该位置设为0 x01 索引节点头接在索引根头之后,用来说明索引项列 表的起始和结束位置 索引项 索引节点头之后是索引项列表,该表有多个索引项组 成 索引项的通用结构如下表 偏移偏移字字 节节 含义含义 0 x008未定义(目录索引中用于记录文件的MFT索引号) 0 x082本索引项的长度 0 x0A2内容的长度(目录索引中用于记录文件名属性长度) 0 x0C2标志,0 x01-有子节点;0 x02-列表的最后一个索引项 0 x0E2

5、未使用 16+8索引分配中的子节点的VCN(只有当标志为有子节点时才使用) 小目录的90H属性 索引项 目录索引项用于 索引至文件或目 录名,在结构上 与通用索引项结 构相同,部分位 置内容不同。 偏移偏移字节字节含义含义 0 x008该文件的MFT索引号 0 x082本索引项的长度 0 x0A2文件名属性长度 0 x0C2标志,0 x01-有子节点;0 x02-列表的最后一个索引项 0 x0E2未使用 0 x108父目录的MFT文件索引号 0 x188文件建立时间 0 x208文件最后修改时间 0 x288文件MFT最后改变时间 0 x308最后访问时间 0 x388文件实际大小 0 x40

6、8文件分配空间大小 0 x488标志 0 x501文件名长度 0 x511文件名命名空间 0 x52文件名 8索引分配中的子节点的VCN(只有当标志为有子节点时才使用) 索引项 索引记录 每个索引记录都有一个标准的索引头和一些包含 索引键和索引数据的块组成。索引记录的大小在 引导记录$boot中定义,一般为4KB 索引头后有不同长度的索引项的序列,由一个带 有最后索引项标志的特殊索引项来结束。 如果目录较小,可全部存放在索引根属性中是, 该目录就只有90H属性 如果目录太大,就会有两个附加属性出现:A0H (索引分配)和B0H(索引位图) 索引记录 索引记录在MFT以外的空间,其结构为索引记

7、录头+节点头+索引项列表 索引记录头 节点头 索引项1 索引项2 索引记录的首个扇区 索引记录 索引记录头及节点头结构 索引记录头 LCN与VCN NTFS使用逻辑簇号(LCN,Logical Cluster Number)和虚拟簇号(VCN, Virtual Cluster Number)来对簇进行定位 当文件的属性需要运行来存储时,NTFS通 过VCN-LCN之间的映射关系来记录运行。 如下图所示: 为了便于NTFS快速查找,有多个运行的文 件的常驻数据属性标准头中包含了VCN- LCN的映射关系,如图所示: 单个索引分析 从图中看不出$AttrDef的 文件记录号,这是一个隐 性参数,是由文件记录排 序生成的,即在MFT中, 文件记录从0开始依次往下 编号,文件使用的这个文 件记录是多少号,它的文 件记录号就是多少,并从 它的父目录中体现出来, 同时在它的标准属性中也 记录有它的父目录的文件 记录号,通过这种方式实 现目录与下级目录或文件 的双向联系,在Windows XP下,文件记录中有自己 的文件记录号。 A0H属性 对于较大的目录,不能将所有的索引项都 放在90H属性中,则需要用索引分配属性 来记录索引项存放的位置。 A0H属性结构为:属性头+数据运行 卷访问过程 NTFS查看引导文件($B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论