linux目录详解i-node,理解Linux操作系统——file system、I/O subsystem、Network subsystem

学习自《Linux性能分析》

虚拟文件系统

Virtual Files System (VFS)是位于用户进程和各类Linux文件系统实现之间的抽象接口层。

075e6764a3f421ffc1002c1e16c33d7a.png

Journaling

在一个non-journaling文件系统中,当进行写操作时,会先修改文件系统的metadata,然后才写用户数据。这样的操作很可能导致数据不完整。如果系统突然崩溃而刚好写操作正在修改文件系统的metadata,文件系统的一致性可能被破坏了。fsck命令通过检查所有的元数据并修复一致性在下次重启时。但是,如果文件系统的卷过大,那么将会花费很多时间来完成。

Journaling文件系统解决了这一问题:先写journal log,再写用户数据到文件系统中,但是这样就存在写性能问题了。

636a6e53be92f5faa5c00d12b632cda6.png

Ext2

ext2是ext3的前身,一个快速、简单的文件系统,没有journaling功能。

如下图所示,ext2文件系统从boot sector之后开始,跟随者许多block groups。将整个文件系统划分为多个block group有助于性能的提高,因为i-node和data blocks的存储位置比较贴近,那么seek time就能够降低。

Super block: 文件系统的信息,每一个block group都有一份拷贝。

Block group descriptor: block group的信息。

Data block bitmaps: 用于空闲data block的管理。

i-node bitmaps: 用于空闲i-node的管理。

i-node tables: i-node表都存储在这里,每一个文件都有相应的i-node表,用于存储文件的元数据:file mode, uid, gid, atime, ctime, mtime, dtime, pointer to data block。

Data blocks: 存储用户数据

a58b13a3599be6cad369647cbfa9941c.png

例如查找/var/log/messages文件,内核会解析文件路径&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值