Linux 文件系统原理 第1章 概述 要理解linu x 的文件系统,要从理解虚拟文件系统(VFS,Virtu al Filesy stem)开始
其结构可以用图表 1 来描述
图表 1 第2 章 虚拟文件系统 2
1 它到底是什么
虚拟文件系统是Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口
它也提供了内核中的一个抽象功能,允许不同的文件系统共存
2 工作方式概述 2
1 注册和安装一个文件系统 如果你想在内核中支持一种新的文件系统的话,你所需要做的仅仅是调用函数register_filesystem()
你向内核中传递一个描述文件系统实现 的结构(struct filesystem), 此结构将被加入到内核的支持文件系统表中去
你可以运行下面的命令: % cat /proc/filesystems 这样可以看到你的系统支持哪些文件系统
内核模块必须提供两个用于加载和卸载时调用的接口,这两个接口由两个固定的宏引出,分别为module_init(),module_exit()
文件系统在作为模块被加载到内核时,调用register_filesystem(),把自己注册为一种文件系统
在模块被卸载时,调用unregister_filesystem()从内核中注消
以JFFS 为例: // 定义一种文件系统jffs_fs_type,其名称为“JFFS” static DECLARE_FSTYPE_DEV(jffs_fs_type, "jffs", jffs_read_super); static int __init init_jffs_fs(void) { printk(KERN_INFO "JFFS version " JFFS_VERSION_STRING ", (C) 1999, 2000 Axis Communicati