Linux支持的文件系统有哪些:
1. 传统文件系统:Ext2、ext3、ext4、Reiserfs(处理小文件)、Xfs、jfs
2. 光盘文件系统:ISO9660
3. 集群文件系统:GFS(红帽开发)、OCFS(oraclecluster fs)
4. 网络文件系统:NFS、CIFS
5. Windows上的文件系统:VFAT(包括FAT、FAT32)、NTFS
6. USB文件系统:vfat
Linux把这些文件系统的差异屏蔽掉,构建了一个统一的虚拟文件系统(virtual file system,VFS),在用户和基本文件系统之中加入了一层VFS,故在用户看来Linux的文件系统只有VFS。
现在硬盘空间越来越大,即便有了块位图和节点位图,扫描起来也非常的慢。Linux将每一个分区(文件系统)又再划分了更小的空间,各自独立管理。
Linux将元数据区划分为很多子单位,子单位负责一块数据区。位图也是在区域中自我管理的。注意,多个单位之间是可以跨越的,当第一个磁盘块区域存不下时,可以放到第二个磁盘块区域中。家有千头,主持一人,需要一个专门的块来协调子单位之间的工作,所以在元数据区域里面还有一个特殊的数据区(全局管理区),叫超级块(super block)。每个子单位有使用了多少,还剩多少,超级块都能看到。如果super block挂了,那么整个文件系统都挂了。Super block不是单独存放的,而是存在子元数据区里面。为了避免super block挂掉,还存有好几个副本,每个子元数据区都存有一个super block,我们用的时候只用其中一个。
硬盘在出厂时要进行一次“低级格式化”,低级格式化的作用是把硬盘划分成扇区(sector)。Block是逻辑单位,硬盘物理上的最小独立单位是扇区。每一个sector的大小是512字节。硬盘最开头(编号最小)的扇区叫做引导扇区(bootsector)。引导扇区里放了一段程序,这段程序负责启动