天天看点

[深入理解文件系统之十] ext2中重要的数据结构

 如果把文件系统比作一个大楼的话,它的数据布局方式和内部数据结构就是高楼的基础和框架,因此理解了它的数据布局方式和数据结构就能对数据结构有一个整体的认识。ext2作为一个经典的文件系统,不失作为一个号的入口

1. ext2文件系统的数据拓扑结构:

<a href="https://s4.51cto.com/wyfs02/M00/91/5E/wKioL1j1rFXhK4TmAAA-B1gNwKA408.png" target="_blank"></a>

2. ext2重要的数据结构如下

<a href="https://s3.51cto.com/wyfs02/M01/91/5E/wKioL1j1rLGCqgWVAALKGSPQEFA590.png" target="_blank"></a>

3. ext2 数据结构内部关系

<a href="https://s3.51cto.com/wyfs02/M00/91/5E/wKioL1j1rQzRbK5EAABt_ufwpc8140.png" target="_blank"></a>

4. Linux  文件系统中的cache:

inode cache, Directory cache,buffer cache,

上面这些cache再加上内存里面的 file table, 以及外面的supper block构成了主要的meta data.

Linux文件系统发展到2.4之后的变化包括:

1.数据流向page cache

2.每一个打开的文件都有一个dcache引用,而且它自身在dcache中有一个条目;

3.类似SVR4 vnodeops的移植

4. SMP-based 锁机制的实现,以便提高SMP系统性能

2.4x内核中和文件系统访问相关的主要数据结构如下:

本文转自存储之厨51CTO博客,原文链接:http://blog.51cto.com/xiamachao/1916998 ,如需转载请自行联系原作者

继续阅读