linux文件系统总结

Linux重要特征就是支持多种不同的文件系统,例如:

ext,FAT,ext2,ext3,MINIX,MS DOS,SYSV,目前 Linux使用的是ext3,它最主要的优点是在ext2基础上增加了异步日志。

ext2可以管理2G的文件系统,而VFS虚拟文件系统将这个限制提高到4TB

ext2文件名长度可以达到255,如果需要,甚至可以增加到1012

1:物理结构

文件信息也是保存在数据块中,对于同一个ext2文件系统,块的大小是一样的,不同ext2文件系统,可以不一样。

文件系统在每个块组中都有一个备份,从而在文件系统崩溃的时候,可以很容易的恢复它。

2:块组的构成

linux文件系统总结_第1张图片

索引节点表:

linux文件系统总结_第2张图片

ext2通过超级块和索引节点来描述和管理系统中的文件。


3:虚拟文件系统

VFS,使用统一的接口,使得外部看上去,所有文件系统都是一样的。

它是建立在具体文件系统上的,仅仅是提供一个统一的、抽象的、虚拟的文件系统界面,该抽象界面主要由统一标准的、抽象的有关文件操作构成,以系统调用方式提供给用户,例如:read,write,lseek等。所以VFS必须管理所有的文件系统。

linux文件系统总结_第3张图片

提速的方式就是缓存机制了。

VFS也是通过超级块和索引节点来描述和管理系统中的文件。

4:Linux文件系统中的逻辑结构:

linux文件系统总结_第4张图片

为了加快文件系统的读取,VFS将当前节点使用的索引节点保存在高速缓存,采用Hash方法,快速的读取所需要的VFS索引节点。

而为了加快对常用目录的存取,VFS还提供一个目录高速缓存,在目录缓存中目录长度必须小于15.

5:数据块缓冲区

平滑和加快文件信息从内存到磁盘的传输。



你可能感兴趣的:(操作系统,Linux,C/C++)