文件系统小总结(inode属性、块组里划分的区域、简述文件读取过程)

文件系统当中会涵盖很多文件元数据,就是属性数据,对应的是inode里面的字段,指令ls显示出来的画面全都是属性。所以你显示文件的时候,他会把当前目录里面的内容拿出来,文件名和inode的映射关系,找到inode,再根据inode编号找到inode属性,然后挑出要显示的属性打印出来就行。

ce261d4aa1fd49879735476b30621723.png 

这个分区里面分了很多块组,组里面的内容就是SB、GDT这些,这个是LinuxExt2文件系统,因为Ext2较简单,是磁盘文件系统图,上面分区里的信息可能会整体或局部性的将属性字段在操作系统启动时,会预加载诸如Super block块组、常用的块组描述符、位图、inode表,他全都给你干到内存,只有数据块data blocks是需要的时候在拿,所以在内存里做对应的数据读取操作就很快。磁盘是典型的块设备,磁盘分区被划分为一个个块组,一个块的大小是格式化的时候写文件系统的时候是确定的,并且不可以更改。例如用mke2fs的-b选项可以设定block块大小为1024、2048或4096,一般文件系统建议全都是4096,启动块(Boot Block)的大小是确定的。

Block Group块组:ext2文件系统会根据分区的大小划分为整个Block Group,而每个Block Group都有着相同的结构组成。

超级块Super Block:存放文件系统本身的结构信息,比如block和inode的总量、未使用的block和inode的总量、一个block和inode的大小、最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统相关的信息,Super Block的信息被破坏,可以说整个文件系统就被破坏了,所以在很多块组里这个Super Block字段会重复出现,从而实现备份。

系统挂掉时有一个现象,当你开机的时候可能会弹出“系统检测到你的系统有故障是否要尝试恢复”你点击是,过分钟就给你恢复出来了,实际上可能是你的超级块有问题,它在进行数据恢复。

GDT,Group Descriptor Table:块组描述符,描述块组属性信息。

块位图(Block Bitmap):Block Bitmap中记录着Data Block中哪个数据块已经被占用,哪个数据块没有被占用

inode位图(inode Bitmap):每个bit表示一个inode是否空闲可用。

i节点表:存放文件属性 如 文件大小,所有者,最近修改时间等

数据区:存放文件内容

 

简述读取文件过程

ls file -i(查看file文件inode编号),假设编号是123,当前所处的目录会包含inode和文件名的映射关系,所以找到文件名就找到inode编号,在inode表里面找到inode,它里面有和数据块对应的映射关系,比如10 20 30,就会去对应的数据区里的对应数字10 20 30去找,最后属性的内容就全找到了。

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值