分类: 未分类

  • 日志式与非日志文件系统

    1.1文件系统

    文件系统规定了数据的存储结构,规定了如何管理和组织结构.如果把磁盘比作图书馆,那么文件系统的作用则类似于图书管理员或图书管理系统.

    文件系统可以命名文件,把数据块的物理地址解释为人类易读的文件名;文件系统规定了数据的组织结构,即目录的概念;文件系统存储元数据;管理磁盘空间,跟踪记录磁盘上哪些空间是空闲的,哪些已被使用,高效地分配空间给新文件;实现数据持久化:确保计算机关机后,文件和数据依然安全地保存在硬盘上,下次开机还能找到。提供数据访问接口,磁道上实现数据持久化:确保计算机关机后,文件和数据依然安全地保存在硬盘上,下次开机还能找到。

    1.2元数据

    文件系统为磁盘规划了inode空间和block空间

    其中inode空间用于存储元数据和其inode号,block空间用于存储文件的实际内容

    元数据即一个文件除了名称外的所有信息,这些信息包括权限,类型,属主和属组,时间戳,block大小,以及block指针(文件内容的物理位置)

    rm指令执行删除操作本质上是删除了文件的元数据,而不是删除了文件的实际内容,这是各种文件系统的基本特征,换言之,系统层面上的删除操作本质上是忘记文件的各种属性信息从而无法再找到文件本身,文件系统会把原来的数据块记录为已释放,从而让新的数据可以在该位置上进行覆写操作.

    2.1日志式文件系统

    日志式文件系统会在对文件执行各种操作之前进行记录,非日志式文件系统则没有这个特性

    常见的日志式文件系统有:NTFS/xfs/ext3/ext4/APFS

    常见的非日志式文件系统有:FAT/FAT32/exFAT/ext/ext2

    由于有日志记录,在磁盘发生掉电重启后,操作系统可以很快地找到文件系统最后的操作状态从而重做或撤销这个操作,而不是像非日志式文件系统那样通过扫描整个文件系统(fsck)来确定元数据(inode、目录项、空闲空间映射表等)之间的关联是否正确。

    日志式文件系统保护的是文件系统本身,但不能确保磁盘在发生故障后数据的完整性,这意味着日志式文件系统并不能代替文件备份,换言之日志式文件系统最大的作用是在磁盘发生故障后更快的恢复文件系统的功能,而不是保护数据不丢失.

    2.2为什么现在主流的操作系统选择日志式文件系统

    日志式文件系统会不停的向磁盘中写入日志,这可能会降低固态硬盘的使用寿命,但是由于使用日志式文件系统的磁盘在发生断电后的恢复速度更快,因此其已成为主流操作系统的默认文件系统