文件系统是用来管理和组织磁盘数据的,在Linux中,面对一个原始的磁盘分区,可通过mkfs系列工具来制作文件系统(比如"mkfs.ext4 /dev/sda1")。
这一步主要是在对应的磁盘分区上创建文件系统所需的super block和inode表,可近似对等于大家熟悉的windows系统的格式化。
安家落户
文件系统生成后,还不能直接使用,需要借助"mount"操作,将这个文件系统加入到Linux的管理,这样用户才能看到并使用。
如下图所示,系统中有三个磁盘分区a, b和c,现在a分区的文件系统已经挂载,可以正常使用。而b分区和c分区的文件系统尚未挂载,此时它们对用户都是不可见的。
从代码实现的角度,挂载的过程就是将代表这个文件系统的"super_block"结构体,加入由之前已经挂载的所有文件系统组成的双向链表中(即"s_list")。
struct super_block {struct list_head s_list;