第08课:理解文件系统设计思想,站在巨人肩上

对任何计算机系统来说,数据都是非常重要的资产,计算机中的数据通常是以文件的形式保存在磁盘上的。对大多数的计算机用户来说,通常只需要关心文件呈现出来的组织方式,而不需要关心它们在磁盘上保存和管理的技术细节。但是对某些特殊应用的开发人员来说,仅仅了解到这种程度是远远不够的,还需要对数据在磁盘上的组织方式的细节有更深入地理解,有时甚至还需要针对特定的应用场景设计自己的文件系统。

本节课我们就以历史悠久而又应用广泛的 Ext 文件系统为例,深入到它底层的数据结构细节,来看看它是如何组织和使用磁盘的存储空间的。通过对它的理解,希望读者可以对文件系统的设计方法和实现思路有基本的理解和认识,主要包括以下几方面内容:

  • Ext 文件系统概述
  • Ext2 文件系统的总体结构
  • 每个块组中存储块数量的确定
  • 超级块与组描述符
  • 数据位图与索引位图
  • 索引节点
  • 日志功能

8.1 Ext 文件系统概述

Linux 上最早的比较成熟的文件系统是 1994 年引入的 Ext2,它比其前代 Ext 文件系统更加高效和稳定,从而得到了广泛的使用。再到后来,增加了日志操作支持的 Ext3 文件系统,把异常状态下文件系统的一致性检查恢复时间从数小时减少到数十秒,从而使其变得更加实用。

目前,大多数主流 Linux 发行版采用的 Ext4 文件系统,是对 Ext2 和 Ext3 的进一步改进,提供了更大容量的支持,更大的单个文件的支持,提高了大文件操作的效率,以及其他一些扩展性和性能方面的改进。但是其基础仍然是 Ext2 和 Ext3,所以ÿ

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值