加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 通讯 > 正文

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

发布时间:2016-10-30 03:52:18 所属栏目:通讯 来源:IT168存储频道
导读:B+ 树 这一节描述文件布局使用的 B+ 树数据结构。选择 B+ 树是为了提高读写盘区的性能,这是 JFS 必须进行的最普通操作。B+ 树为读取文件的特定盘区提供快速搜索。它还提供有效方法将盘区添加或插入文件中。较为少见的情形是:当删除文件时,JFS 需要遍历
        B+ 树

 

        这一节描述文件布局使用的 B+ 树数据结构。选择 B+ 树是为了提高读写盘区的性能,这是 JFS 必须进行的最普通操作。B+ 树为读取文件的特定盘区提供快速搜索。它还提供有效方法将盘区添加或插入文件中。较为少见的情形是:当删除文件时,JFS 需要遍历整个 B+ 树。为了保证 JFS 会删除 B+ 树使用的块以及文件数据,对于遍历 B+ 树效率也很高。

        盘区分配描述符(xad 结构)描述盘区并且又添加了表示文件所需的两个字段:描述盘区表示的逻辑字节地址的偏移量和标志字段。盘区分配描述符结构在 jfs_xtree.h, struct xad 中定义。

        xad 结构为:

        其中:

        flag 是包含各种标志的 8 位字段。这些标志能够表示写入时复制、是否分配了盘区但没有记录它、压缩信息等等。

        rsvrd是保留供将来使用的 16 位字段。它总为零。

        off1,off2 是 40 位字段,包含盘区中第一个块的逻辑偏移量。逻辑偏移量是以聚集块尺寸为单位表示;也就是说,要取得一个字节,偏移量必须乘以聚集块尺寸。

        len 是 24 位字段,包含盘区的长度。长度以聚集块尺寸为单位表示。

        addr1,addr2 是 40 位字段,包含盘区的地址。地址以聚集块尺寸为单位表示。

        xad 结构描述了两个抽象范围:

        磁盘上磁盘块的物理范围。它以聚集块号 xad_address 开始,并且延伸为 xad_length 聚集块。

        文件内字节的逻辑范围。它以字节号 xad_offset * AGBS(聚集块尺寸)开始,并且延伸为xad_length*AGBS 字节。

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!