科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道JFS布局:日志文件系统如何处理磁盘布局(13)

JFS布局:日志文件系统如何处理磁盘布局(13)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

JFS 体系结构可通过其磁盘布局特性的上下文进行说明。磁盘布局是 JFS 用来控制文件系统的格式。本文讨论盘区的文件几何构造、目录格式、块分配映射表格式、inode 和布局结构的其它特性。本文还提供了文件布局使用的 B 树数据结构的细节和示例。选择 B 树是为了提高读写盘区

来源:51cto.com 2007年12月27日

关键字: 数据恢复 数据安全

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共23页)

结构 dmap 包含一个摘要树。其它每个映射层都包含一个摘要树。摘要树提高了查找空闲块大盘区的性能。摘要信息足以判断 dmap 页是否有足够的空闲位,这样就无需查看 dmap 页,从而可以避免无效搜索。

图 10 给出了一个 dmap 结构中树字段的细节。要注意,dmap 结构中的这一字段是一个平面数组,但它表示图中显示的树。树的每一层都索引最大数目个相邻的块。树的最底层,树[21]至树[84],映射至工作映射表中的二进制编码搭档表示。树的其它层包含来自下一较低层的四个部分的最大数目相连空闲块。块分配映射表的其它层可能有一个相似的树,除了叶节点层有 1024 个元素。这些元素映射至树[0]的二进制编码搭档表示,树[0]指向后面的 dmap 页。

如果要合并的四个都为"don't care"类型,则合并项大小标记为 -1。这些项的搭档项负责标记正确的状态。

inode 分配

动态 inode 分配机制中,inode 号不再直接映射至聚集中特定的逻辑磁盘块,所以要支持下列三种操作,需要定义新的数据结构:

正向查找: 给定 inode 号,找到磁盘上的 inode 。文件查找是一种典型的正向查找。
反向查找:给定分区磁盘号(更确定,则给定分配组号),查找邻近的空闲 i-结点。分配新 inode 就属于这种情况,JFS 尽量查找物理上邻近所选分配组的 inode (以便,例如, 同一子目录的文件其 inode 都是相邻的)。

空闲 inode 号查找:要分配新的 inode 盘区,先要找到 32 个相邻的、未分配给相应 inode 盘区的 inode 。当所有已分配的 inode 都在使用,或当 JFS 需要给分配组分配 inode 但以前从未分配过 inode 时,或当一个分配组中没有空闲 inode 时,需要分配新的 inode 盘区。

注意动态 inode 分配的一种微妙效应:相邻 inode 号在磁盘上未必相邻:inode N+32 可以和 inode N 相隔任意远。然而,相隔很远的 inode 号在磁盘上可以是紧邻的;所以,inode N+K 和 inode N 紧邻在理论上是可能的(即使 K>1)

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章