LinuxIO之文件系统的实现

  • Ext2/3/4 的layout
  • 文件系统的一致性: append一个文件的全流程
  • 掉电与文件系统的一致性
  • fsck
  • 文件系统的日志
  • ext4 mount选项
  • 文件系统的debug和dump
  • Copy On Write 文件系统: btrfs

预备知识:数据库里的transaction(事务)有什么特性?

  • 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。
  • 一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。
  • 持久性(Durability):一个事务一旦提交,他对数据库的修改应该永久保存在数据库中。

Ext2/3/4 的layout

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如上图,任何一个文件,在硬盘上有inode、 datablocks,和一些元数据信息(- 描述数据的数据)。其中,inode的信息包括,inode bitmap 和 inode table。通过inode bitmap和block bitmap来描述具体的inode table 和data blocks是否被占用。inode table包括文件的 读写权限和 指针表。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Linux对硬盘上一个文件,是分不同角度描述。创建一个文件,包括修改inode bitmap 和 block bitmap的描述。包括修改datablock和 inode bitmap的信息等等。所以“修改文件”这个操作,并不是原子的。所以存在文件系统的执行一致性的问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分Group的好处,在同一个目录下的东西,尽量放在同一个group,用来减少硬盘的来回寻道。

文件系统的一致性: append一个文件的全流程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值