Linux重要特征就是支持多种不同的文件系统,例如:
ext,FAT,ext2,ext3,MINIX,MS DOS,SYSV,目前 Linux使用的是ext3,它最主要的优点是在ext2基础上增加了异步日志。
ext2可以管理2G的文件系统,而VFS虚拟文件系统将这个限制提高到4TB
ext2文件名长度可以达到255,如果需要,甚至可以增加到1012
1:物理结构
文件信息也是保存在数据块中,对于同一个ext2文件系统,块的大小是一样的,不同ext2文件系统,可以不一样。
文件系统在每个块组中都有一个备份,从而在文件系统崩溃的时候,可以很容易的恢复它。
2:块组的构成
索引节点表:
ext2通过超级块和索引节点来描述和管理系统中的文件。
3:虚拟文件系统
VFS,使用统一的接口,使得外部看上去,所有文件系统都是一样的。
它是建立在具体文件系统上的,仅仅是提供一个统一的、抽象的、虚拟的文件系统界面,该抽象界面主要由统一标准的、抽象的有关文件操作构成,以系统调用方式提供给用户,例如:read,write,lseek等。所以VFS必须管理所有的文件系统。
提速的方式就是缓存机制了。
VFS也是通过超级块和索引节点来描述和管理系统中的文件。
4:Linux文件系统中的逻辑结构:
为了加快文件系统的读取,VFS将当前节点使用的索引节点保存在高速缓存,采用Hash方法,快速的读取所需要的VFS索引节点。
而为了加快对常用目录的存取,VFS还提供一个目录高速缓存,在目录缓存中目录长度必须小于15.
5:数据块缓冲区
平滑和加快文件信息从内存到磁盘的传输。
原文:http://blog.csdn.net/lileiyang12/article/details/19271593