【底层原理】彻底理解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的信息,包含数据块指针。

  • 不同块大小影响单个文件的最大容量,块越大性能越好但浪费严重。

➡️

继续阅读