46、文件系统数据结构访问与 /proc 文件系统解析

文件系统数据结构访问与 /proc 文件系统解析

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

1.1 三重间接块

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

1.2 柱面组

在原始的 UNIX 文件系统中,i - 节点结构紧跟超级块存储在磁盘上,数据块则紧跟 i - 节点。这种布局简单,但在访问文件时会导致磁头频繁来回移动。快速文件系统通过将磁盘划分为多个柱面组来解决此问题。

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

柱面组信息存储在 struct cg 类型的结构中,定义如下:

struct  cg {
    struct      cg *cg_link;          /* linked list of cyl groups          */
    long        cg_magic;             /* magic number                       */
    time_t      cg_time;              /* time last written                  */
    long        cg_cgx;               /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值