索引记录结构题库.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
索引记录结构 根目录 目录记录结构 一个目录的MFT记录将其目录下的文件名和子目录名进行排序,井保存在索引根属性中。然而,对于一个大目录,文件名实际存储在组织文件名的固定4KB大小的索引缓冲区中。缓冲区是通过B+树数据结构实现的。根索引属性包含B+树的第一级(根子目录)并指向包含下一级(大多数是子目录,也可能是文件)的索引缓冲区中。 图只显示了根索引属性中的文件名和索引缓冲区。但是索引中的每一项还包括了位于MFT中的描述文件所在位置的文件引用以及文件时间和文件大小等信息。NTFS根据文件的MFT记录来复制时间标记和文件大小信息。这种技术需要将更新信息写在两个地方,比较麻烦。但是,这仍是一个提高目录浏览速度的好方法,因为它可以在文件系统不打目录中任何文件的情况下显示每个文件的时间标记和大小。 索引分配属性包含了索引缓冲区的VCN到LCN映射,而位图属性跟踪在索引缓冲区中哪些VCN是在使用而哪些是空闲的。图显示了每个文件项占有一个VCN,而实际上多个文件项被包装在同一个簇中。每个4KB大小的索引缓冲区可以容纳20到30个文件项。 在NTFS中,目录也是一种文件,也使用文件记录进行管理。 90H属性 该属性($INDEX_ROOT,索引根)是实现NTFS的B+树索引的根节点。总是常驻属性。属性结构如下: 90H属性 90H属性头 90H属性头 常用索引列表 索引根头结构 从该表可知,此索引为0x30索引,也就是$130索引,用于目录排序,排序规则为0x01,表示按Unicode字符顺序排序,索引项分配大小为0x1000,也就是每个索引项使用4096字节,每索引记录的簇数为1,表示每索引记录为1簇4KB。 索引节点头结构 索引项 索引节点头之后是索引项列表,该表有多个索引项组成 索引项的通用结构如下表 小目录的90H属性 索引项 目录索引项用于索引至文件或目录名,在结构上与通用索引项结构相同,部分位置内容不同。 索引项 索引记录 每个索引记录都有一个标准的索引头和一些包含索引键和索引数据的块组成。索引记录的大小在引导记录$boot中定义,一般为4KB 索引头后有不同长度的索引项的序列,由一个带有最后索引项标志的特殊索引项来结束。 如果目录较小,可全部存放在索引根属性中是,该目录就只有90H属性 如果目录太大,就会有两个附加属性出现:A0H(索引分配)和B0H(索引位图) 索引记录 索引记录在MFT以外的空间,其结构为索引记录头+节点头+索引项列表 索引记录的首个扇区 索引记录 索引记录头及节点头结构 索引记录头 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查看引导文件($Boot元文件中定义的文件),找到MFT的物理地址。然后从文件记录的数据属性中获得VCN到LCN的映射信息,通过这个信息定位MFT的’运行’在磁盘上的位置。接着NTFS再打开几个元文件的MFT的记录,并打开这些文件,之后用户就可以访问该卷了 * * ………… 索引项 索引项 索引节点头 索引根头 标准属性头 填充0 3 0x0D 每个索引记录的簇数 1 0x0C 索引项分配大小(0x100,4096字节) 4 0x08 排序规则(01,Unicode规则) 4 0x04 索引属性类型(0x30) 4 0x00 标准属性头 ~ ~ 描述 大小 偏移 标志,如果有其他子节点指向该节点,则将将该位置设为0x01 4 0x0C 索引项列表缓冲区的结尾偏移 4 0x08 索引项列表已用部分的结尾偏移 4 0x04 索引项列表起始位置偏移(相对于节点头) 4 0x00 含义 大小 偏移 索引节点头接在索引根头之后,用来说明索引项列表的起始和结束位置 索引分配中的子节点的VCN(只有当标志为有子节点时才使用) 8

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档