在上一篇文章中,我们介绍了基本的文件系统概念和SD卡中常用的FAT32文件系统。在有了上文的基础,我们这次来学习一下linux中默认的ext文件系统。
ext文件系统是为linux量身打造的,因此和linux的虚拟文件系统(VFS)在基础概念上基本是一致的,本文也顺带介绍一下vfs。vfs能适配十几种不同类型的文件系统,如上文介绍的FAT等。vfs进行适配的原理是在内存中讲FAT文件系统的FAT、FDT等转换成了ext文件系统中的inode结构了。
首先看一下ext3文件系统的结构总览:
图中我们看到了如下概念:引导扇区、块、块组、super block超级块、块组描述符表、块位图、i-节点位图、i-节点表,我们依次介绍一下:
引导扇区
ext3文件系统中的前两个扇区用来存放应道程序,称为引导扇区。
块
就像上文中提到FAT文件系统为方便管理将几个扇区组成一个簇一样,ext文件系统将若干个扇区组成一个块。一个块大小一般为1024字节、2048字节等,在创建文件系统时