文件系统也是一个复杂的话题,这部分的内容是希望能勾勒出一个简单的模型,便于理解在alsa中碰到的文件相关的内容。
2.1 磁盘中的文件格式
linux本身支持的磁盘文件格式是ext2/ext4,ext4是ext2扩展而来的,增加了很多功能,但基本原理一致。单纯学习文件系统的代码的话,感觉从ext2开始是个不错的选择,代码量比ext4小很多。这里简单的了解一下ext2的结构:
ext2 文件系统结构简图
我们所说的磁盘格式化,其实就是按照一定的规则来设置磁盘。选择ext2系统的话,格式化后的磁盘,大致格式就如上图。
首先磁盘开头部分留给引导分区,而后可以将磁盘分成多个块组,块组内的格式一致,也是我们下面主要去了解的内容。
● super block
超级块。首先需要理解磁盘是以块为单位来处理数据的,也就是说块是磁盘处理的基本单位。比如说一个文件的大小不够写满一个块,剩下的空间去写另一个文件的内容是不允许的。超级块用来记录块的大小,文件系统类信ÿ