文件系统数据结构访问与 /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; /
超级会员免费看
订阅专栏 解锁全文
1

被折叠的 条评论
为什么被折叠?



