46、深入探索文件系统数据结构与 `/proc` 文件系统

深入探索文件系统数据结构与 /proc 文件系统

1. 访问文件系统数据结构

在文件系统的管理中,数据结构的组织和访问至关重要。

1.1 三重间接块

di_ib 数组的第三个元素包含三重间接块的地址。这个块用于存储更多双重间接块的地址,一个三重间接块允许寻址超过八万亿个数据块。

1.2 柱面组

在早期的 UNIX 文件系统中,索引节点(i-node)结构紧跟超级块存储在磁盘上,数据块则跟在索引节点之后。这种简单的布局在访问文件时会导致磁头频繁来回移动。快速文件系统(Fast File System)通过将磁盘划分为多个柱面组(cylinder groups)解决了这个问题。

每个柱面组包含一个定义该组记账信息的结构、超级块的冗余副本、一些索引节点结构和数据块。柱面组的记账信息包括该组中哪些索引节点正在使用,哪些磁盘块未使用。柱面组的概念使得文件的数据块尽可能连续布局,从而最小化了从一个块到下一个块的旋转延迟。

柱面组信息存储在 sys/fs/ufs_fs.h 头文件中定义的 struct cg 类型的结构中:

struct  cg {
    struct      cg *cg_link;          /* linked list of cyl groups          */
    long        cg_magic;             /* magic number     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值