Linux文件系统理解
Linux系统中文件系统的基本原理是比较简单的,简单的理解就是2次映射的过程。一次是根据文件名找到inode节点,第二次是根据inode节点找到文件存储数据的位置
- 格式化:为磁盘建立文件系统
- block :逻辑上存储数据的最小单元大小
- inode : 索引节点,通过扫描索引节点,找到所有的数据
inode里面包含data_block的指针,也就是指向文件block - inode 位图,使用0和1的方式,确认block是否是空闲,针对写数据优化
- block位图,使用0和1的方式,确认block是否是空闲,针对写数据优化
- inode:inode组成的表
文件系统物理上就如下图所示:
- inode和文件名存储在哪里,文件名和inode号不是存储在其自身的inode中,而是存储在其所在目录的data block中。这样inode就不会因为,文件名长短,而大小发生变化。
- super block,超级块是整个文件系统的入口,里面包含inode数量、数据块数量、zone大小和第一个zone的位置等
- 根目录下挂载其他文件系统。在根目录挂载节点,创建新的inode,指向分区文件系统的superblock
- 文件vfs和存储设备驱动之间的关系
简单举例:
https://zhuanlan.zhihu.com/c_1070639237568786432
详细解释:
https://www.cnblogs.com/f-ck-need-u/p/7016077.html
mount 过程的理解
https://blog.csdn.net/wuruixn/article/details/9619127