【底层原理】彻底理解Linux文件系统
💡
原文中文,约11800字,阅读约需28分钟。
📝
内容提要
本文介绍了Linux文件系统的基本概念和原理,包括文件的管理和操作。Linux使用虚拟文件系统VFS来支持不同类型的文件系统。详细介绍了ext2文件系统的结构,包括superblock、inode、block、group、group descriptor、block bitmap和inode table等。还讨论了不同块大小对文件容量的影响。
🎯
关键要点
-
文件系统用于管理文件,是数据的集合,存储在存储介质上。
-
用户关心文件的存放位置、数据存入和读取方式以及文件删除。
-
Linux使用虚拟文件系统VFS来支持不同类型的文件系统,屏蔽实现细节。
-
ext2文件系统的元数据包括superblock、inode、block、group等。
-
块设备以块为基本读写单位,块大小影响存储性能和空间利用率。
-
superblock记录文件系统类型、块大小、块总数、inode大小等信息。
-
group descriptors是所有group的描述符集合,记录各group的状态。
-
block bitmap和inode bitmap分别表示块和inode的使用情况。
-
inode表存放每个group中所有inode的信息,包含数据块指针。
-
不同块大小影响单个文件的最大容量,块越大性能越好但浪费严重。
➡️