28 | 硬盘文件系统:如何最合理地组织档案库的文档?
刘超
该思维导图由 AI 生成,仅供参考
上一节,我们按照图书馆的模式,规划了档案库,也即文件系统应该有的样子。这一节,我们将这个模式搬到硬盘上来看一看。
我们常见的硬盘是上面这幅图左边的样子,中间圆的部分是磁盘的盘片,右边的图是抽象出来的图。每一层里分多个磁道,每个磁道分多个扇区,每个扇区是 512 个字节。
文件系统就是安装在这样的硬盘之上。这一节我们重点目前 Linux 下最主流的文件系统格式——ext 系列的文件系统的格式。
inode 与块的存储
就像图书馆的书架都要分成大小相同的格子,硬盘也是一样的。硬盘分成相同大小的单元,我们称为块(Block)。一块的大小是扇区大小的整数倍,默认是 4K。在格式化的时候,这个值是可以设定的。
一大块硬盘被分成了一个个小的块,用来存放文件的数据部分。这样一来,如果我们像存放一个文件,就不用给他分配一块连续的空间了。我们可以分散成一个个小块进行存放。这样就灵活得多,也比较容易添加、删除和插入数据。
但是这也带来一个新的问题,那就是文件的数据存放得太散,找起来就比较困难。有什么办法解决呢?我们是不是可以像图书馆那样,也设立一个索引区域,用来维护“某个文件分成几块、每一块在哪里”等等这些基本信息?
另外,文件还有元数据部分,例如名字、权限等,这就需要一个结构 inode 来存放。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Linux下最主流的文件系统格式——ext系列的文件系统的格式。文章深入介绍了硬盘的基本结构,文件系统中的块和inode的存储方式,以及inode的结构和作用。还介绍了ext4文件系统引入的新概念——Extents,以及如何通过Extents来提高大文件的读写性能和减少文件碎片。文章还介绍了文件系统的格式,包括超级块、块组描述符表和元块组的概念,以及如何通过Meta Block Groups特性来优化块组描述符表的备份策略。此外,文章还介绍了目录的存储格式和软链接、硬链接的存储格式。整体来说,本文深入浅出地介绍了硬盘文件系统的组织方式和管理原理,对于想要深入了解文件系统的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈 Linux 操作系统》,新⼈⾸单¥68
《趣谈 Linux 操作系统》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(65)
- 最新
- 精选
- 二三子也>>每个 extent 最大能表示 128MB 的数据。 疑问:ee_len大小为16bit,最大能表示2^16 - 1,如果块大小为4K,则一个extent能表示256MB 解惑:ee_len为一个16bit的无符号整数,但是其最高位在预分配特性中用来标识这个extent是否被初始化过了,所有ee_len中可用的位为15bit,最大可表示2^15个连续的块,如果块大小为4K,则一个extent最大能表示128MB
作者回复: 赞
2019-06-10333 - 江山未看完已经不认识"块"这个字了
作者回复: 块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块块,哈哈哈
2019-08-05217 - 嘉木每次ls的时候,文件夹大小都显示4096,原来是一个块的大小,4k vim 文件夹 能看到文件夹下的文件列表
作者回复: 对的
2019-07-139 - W.jyao每篇文章有点收获就可以
作者回复: 是的是的
2019-06-0126 - geraltlaush老师,Exents的存储结构的树是红黑树吧
作者回复: 这个不是的,这个是硬盘上的。
2019-06-014 - 欢乐小熊前几天刚在虹桥关注到这个厕位导航系统, 结果今天就在课上看到了, 有趣有趣!!
作者回复: 我当时看了,也是灵机一动
2019-05-313 - Mr.差不多老师,您好。相同的文件夹在不同Linux机器上用ls -U得到的顺序也不一样。这是什么原因呢?文件系统如何确定文件夹中不同文件iNode的存储顺序的?
作者回复: 创建的顺序也不一样呀。ls没有访问文件的Inode,仅仅访问了文件夹的内容
2019-05-3122 - 八台上目录文件和后边讲的目录项(dentry)的关系是什么呢? 我理解目录文件里边的内容就是 目录项列表(即目录文件下边的每一个普通文件和目录文件的目录项集合)
作者回复: dentry不止表示目录项,后面讲内存中结构的时候会讲
2020-06-101 - 超超df -i 文件
作者回复: 赞
2019-07-231 - 靠人品去赢偷偷地问一句,4K对齐是不是就跟一个block默认大小是4K有关?
作者回复: 有的,缓存的时候好弄
2019-06-171
收起评论