linux(五) 文件系统的内部

filesystem

格式化的真正含义?
每次重装系统到都需要格式化一下主分区,想过为什么吗?如果只是为了清空存储数据,直接丢弃存储记录就行了,根本没有必要做耗时长久的格式化.
格式化的实质是创建一个新的文件系统(filesystem),借以管理磁盘.
windows常用的文件系统是NTFS(自winows 2000开始),linux使用Ext2/Ext3/Ext4/xfs.

Ext4

以Ext4为例,讲解linux文件系统.

Ext4分为3部分,inode block superblock.文件属性/权限和文件的实际内容是分开存放的.

  • inode
    记录文件的属性和文件数据所在得block编号(使用多级级联保证大文件存储)
  • block
    文件的实际存储区域.
  • superblock
    记录文件系统的整体信息,包括inode/block的总量 使用量 剩余量,以及文件系统的格式等等,极其重要.

发生异常如何处理?

如果系统运行时由于不可抗力强制关闭,数据可能已经写入inode和block却没有更新superblock,导致数据得不一致状态(inconsistent)这时为了保证安全,开机时系统会就逐个对比,直到找到差异所在,取决于文件系统的大小,这可能需要几个小时,为此出现了日志式文件系统.每当对文件进行操作,就在一个特定区域记录修改或创建文件的细节,这样出了问题,就到这个区域进行检查.

挂载点

讲文件系统与目录树结合的行为称为挂载,挂载点一定是目录!!,并且如果不是空目录的话,原本的内容会被屏蔽,停止挂载(卸载,总感觉怪怪的)后会复原.

VFS

virtual filesystem switch,虚拟文件系统切换.linux提供的一个中间层,实现对多种文件系统的支持.

你可能感兴趣的:(linux(五) 文件系统的内部)