前面章节介绍了文件系统数据结构和基本流程,接下来以ext2文件系统为例,详细说明如何从头构建一个文件系统,主要包括:文件系统注册/解注册、文件系统挂载、超级块管理、inode管理等等。今天我们先来说一下注册和解注册文件系统。
文件系统属于内核模块,内核在加载这些模块时,会调用初始化init和退出exit函数,一般在这两个函数中完成注册和解注册动作,参考如下示意图。
继续阅读“01 ext2注册/解注册文件系统”前面章节介绍了文件系统数据结构和基本流程,接下来以ext2文件系统为例,详细说明如何从头构建一个文件系统,主要包括:文件系统注册/解注册、文件系统挂载、超级块管理、inode管理等等。今天我们先来说一下注册和解注册文件系统。
文件系统属于内核模块,内核在加载这些模块时,会调用初始化init和退出exit函数,一般在这两个函数中完成注册和解注册动作,参考如下示意图。
继续阅读“01 ext2注册/解注册文件系统”上两篇文章介绍虚拟文件系统VFS中基本的数据结构、以及与进程相关的数据结构,为了描述完整的VFS,其实还有一类数据结构,他们是描述文件系统的。文件系统在不同状态下,根据功能不同,主要包含三个数据结构:超级块super_block、安装点(也叫挂载点)mount和vfsmount、文件系统类型file_system_type。下面就详细介绍下这三个数据结构之间的关系。
继续阅读“005 虚拟文件系统VFS中超级块、安装点、文件系统类型三者之间关系”