您所在的位置: 首页>>网络安全>>应用安全>>数据安全>>

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

http://netsecurity.51cto.com  2006-08-24 14:05  Steve Best  51CTO.com  我要评论(0)
  • 摘要:本文描述磁盘日志文件系统(JFS)布局,以及使用磁盘布局结构来实现可扩展性、可靠性和性能的机制。还会了解用来操作这些结构的策略和算法,以及 JFS 是在哪里使用遍布文件系统的 B+ 树来提高文件系统操作性能。
  • 标签:JFS  硬盘  数据恢复  RAID
结构 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)


共23页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] 13 [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] 下一页
【内容导航】
固态硬盘(SSD)开疆扩土
企业数据恢复指南
RAID——磁盘阵列基础
硬盘发展史:全面解析硬盘技术
Web安全云时代
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有