文件系统
虚拟文件系统
VFS提供访问 文件系统对象的通用对象模型(例如,i-node、文件对象、页缓存、)和方法,它对用户进程 隐藏了各种文件系统的差别。
日志文件系统是为了维护数据调度一致性。
在写入实际的文件系统之前,他先把要修改的数据写入一个 叫做日志区域(journal area)的地方。日志区域可以在文件系统上,也可以不在文件系统 上。写入日志区域的数据叫做日志记录(joutnal log)。
Ext2
超级块(Super block) 磁盘上信息存放在这里,超级块的副本保存在每个块组的顶部。
+ 块组描述符(Block group descriptor) 块组的信息存在这里
+ 数据块位图(Data block bitmaps) 空闲块管理
+ i-node位图(i-node bitmaps) 空闲i-node管理
+ i-node表(i-node tables) 存放i-node表。每个文件都有相应的i-node表,存放文件的元数据, 譬如文件 模式、uid、gid、atime、ctime、mtime、dtime和数据块的指针。
+ 数据块(Data blocks) 存放真正的用户数据。
文件系统由一个引导扇区(boot sector)开始,后面 跟着块组(block groups)。整个文件系统被分成许多小块组来获得高性能,因为i-node表和 保存用户数据的数据块驻留在较前的磁盘,所以节约寻址时间。一个块组包含如下项目:
Linux内核使用对象缓存,比如目录条目缓存或者i-node 缓存来加速寻找i-node的过程。
Ext3
可用性:Ext3采用一致性的方式把数据写入磁盘
数据完整性:在mount命令中使用data=journal打开日志记录模式
速度、
灵活性
日志模式: 日志、有序、回写
评论