深入理解Linux USB文件系统:从VFS到usbfs的构建
1. USB通知框架概述
在Linux系统中,订阅者模块现在可以开始接收来自USB框架的通知。当我们向计算机添加一个USB设备时,就能看到USB设备添加的调试消息。USB通知框架虽然是usbcore的一个简单部分,但对于传递USB事件至关重要。它有效地利用了Linux通知子系统作为其基础框架。
2. 虚拟文件系统(VFS)基础
Linux虚拟文件系统(VFS)是一个轻量级的内核框架,为用户空间应用程序提供文件系统接口,使它们能够访问内核内部。它为不同的文件系统格式(如网络文件系统NFS和扩展文件系统EXT2、EXT3、EXT4)提供了抽象层,为应用程序访问文件信息创造了必要的透明度。
VFS框架主要使用四个重要的数据结构对象:
-dentries:目录项,用于表示文件系统中的目录项。
-files:文件对象,代表打开的文件。
-inodes:索引节点,保存文件的元数据信息。
-super blocks:超级块,作为文件系统的根,代表已挂载的文件系统。
下面是超级块操作数据结构的代码:
struct super_operations { struct inode *(*alloc_inode)(struct super_block *sb); void (*destroy_inode)