Linux虚拟文件系统对物理文件的管理
2011-06-22侯旗陈慈发艾伟
单片机与嵌入式系统应用 2011年12期
侯旗,陈慈发,艾伟
(三峡大学,宜昌443002)
引 言
随着嵌入式技术的发展,越来越多的嵌入式设备采用Linux作为其操作系统。Linux支持各种物理文件系统,而不同物理文件系统具有不同的组织结构和不同的处理方式。为了兼容支持不同的文件系统,Linux设计了在系统启动时由系统在内存创建的文件系统,即虚拟文件系统(Virtual File System,VFS)。该文件系统对不同的物理文件系统的所有特性进行抽象,屏蔽各种文件系统的差别,向Linux内核和进程提供了一个处理各种物理文件系统的公共接口,从而实现了对不同文件系统的支持。而且,Linux系统把一切的设备也当作文件来处理。理解Linux虚拟文件系统机制对于学习Linux运行原理起着重要的作用。本文对Linux虚拟文件系统原理进行了较为详尽的分析。
1 Linux VFS基本原理
Linux以EXT2作为基本的文件系统,组成虚拟文件系统的超级块、索引节点、目录项等数据结构,兼容于各种文件系统的相应数据结构,从而实现了对多种文件系统的透明调用。
1.1 Linux所支持的文件系统的一般结构
Linux继承了Uinx,把文件名和文件控制信息分开管理。一个Linux所支持的物理文件系统使用的块设备上的一个独立逻辑分区可大致分为:引导块、超级块、inode块、data块4部分[1]。超级块是描述文件系统整体信息的数据结构,在系统运行期间被读入内存,在内存中建立一个超级块的映像。Linux所支持的文件系统的一般结构如图1所示。

图1 Linux所支持的文件系统的一般结构
1.2 VFS对物理文件系统的管理
Linux VFS采用超级块(super_block)和索引节点(inode)来描述文件系统。……
登录APP查看全文
