Ext2 文件系统的硬盘布局_unix linux

本文主要讲述 Linux 上比较流行的 ext2 文件系统在硬盘分区上的详细布局情况。Ext2 文件系统加上日志支持的下一个版本是 ext3 文件系统,它和 ext2 文件系统在硬盘布局上是一样的,其差别仅仅是 ext3 文件系统在硬盘上多出了一个特殊的 ino de(可以理解为一个特殊文件),用来记录文件系统的日志,也即所谓的 journal。由于本文并不讨论日志文件,所以本文的内容对于 ext2 和 ext3 都是适用的。
1、前言
本文的资料来源是 Linux 内核中 ext3 文件系统的源代码。为了便于读者查阅源代码,本文中一些关键的技术词汇都使用了内核源代码中所使用的英语单词,而没有使用相应的中文翻译。(这种方法是否恰当,还请读者朋友们指教。)
2、粗略的描述
对于 ext2 文件系统来说,硬盘分区首先被划分为一个个的 block,一个 ext2 文件系统上的每个 block 都是一样大小的,但是对于不同的 ext2 文件系统,block 的大小可以有区别。典型的 block 大小是 1024 bytes 或者 4096 bytes。这个大小在创建 ext2 文件系统的时候被决定,它可以由系统管理员指定,也可以由文件系统的创建程序根据硬盘分区的大小,自动选择一个较合理的值。这些 blocks 被聚在一起分成几个大的 block group。每个 block group 中有多少个 block 是固定的。
每个 block group 都相对应一个 group descriptor,这些 group descriptor 被聚在一起放在硬盘分区的开头部分,跟在 super block 的后面。所谓 super block,我们下面还要讲到。在这个 descriptor 当中有几个重要的 block 指针。我们这里所说的 block 指针,就是指硬盘分区上的 block 号数,比如,指针的值为 0,我们就说它是指向硬盘分区上的 block 0;指针的值为 1023,我们就说它是指向硬盘分区上的 block 1023。我们注意到,一个硬盘分区上的 block 计数是从 0 开始的,并且这个计数对于这个硬盘分区来说是全局性质的。

时间: 2024-10-13 10:55:24

Ext2 文件系统的硬盘布局_unix linux的相关文章

Ext2文件系统的硬盘布局

本文主要讲述 Linux 上比较流行的 ext2 文件系统在硬盘分区上的详细布局情况.Ext2 文件系统加上日志支持的下一个版本是 ext3 文件系统,它和 ext2 文件系统在硬盘布局上是一样的,其差别仅仅是 ext3 文件系统在硬盘上多出了一个特殊的 ino de(可以理解为一个特殊文件),用来记录文件系统的日志,也即所谓的 journal.由于本文并不讨论日志文件,所以本文的内容对于 ext2 和 ext3 都是适用的. 1.前言 本文的资料来源是 Linux 内核中 ext3 文件系统的

Linux文件系统的桌面应用_unix linux

本文中要介绍一个所谓的"Linux 文件系统的守护神",这是指一个能实时地观察 Linux 文件系统的变化情况的程序模块.能够实时的观察文件系统的变化情况,并做出及时的适当的反应,这对于应用 Linux 做桌面计算机系统来说,是十分的有趣,也是十分的重要的.本文还要介绍 Linux 文件系统的异步 I/O 的扩展.同样,这对于 Linux 系统的桌面应用也是关键的. 1.Linux 文件系统的守护神 传统的 Linux 文件系统呈现给用户程序的界面,确实是十分的干净利落.用户程序可以打

Linux操作系统添加新硬盘方法_unix linux

#fdisk /dev/sdb  进入fdisk模式:  Command (m for help):p //查看新硬盘的分区  Command (m for help):n //创建新分区  Command action  e extended //输入e为创建扩展分区  p primary partition (1-4) //输入p为创建主分区,这里我们选择p  Partion number(1-4):1 //第一个扩展分区,按您需求能够最多分4个主分区  First Cylinder(1-1

Linux与Windows硬盘资源互访_unix linux

目前,个人电脑用户中许多人都使用Windows系统,但也安装了Linux系统,因此如何在Linux或Windows中实现硬盘资源互访就显得非常重要. Linux下访问Windows硬盘分区 在Red Hat Linux下访问Windows系统的硬盘分区很简单.因为Red Hat Linux提供了对几乎所有文件系统的支持,因此它可以直接读写Windows系统的分区.安装Red Hat Linux 时,就可以指出计算机中存在的Windows分区的位置,并指定想要将它们载入到Linux文件系统中的位置

Linux环境下的ReiserFS文件系统_unix linux

    ReiserFS是一个非常优秀的文件系统.也是最早用于Linux的日志文件系统之一. ReiserFS的开发者非常有魄力,整个文件系统完全是从头设计的.目前,ReiserFS可轻松管理上百G的文件系统,这在企业级应用中非常重要. 一.ReiserFS的特点 1.先进的日志机制 ReiserFS有先进的日志(Journaling/logging)功能 机制.日志机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘.文件与数据的安全性有了很大提高. 2.高效的磁盘空间利用 Reiserf

Linux中ext2文件系统存储结构的个人理解

看了几天<深入理解linux内核>的ext2文件系统部分和VFS部分,稍微了解了点文件在内存中的存储结构,但是总是弄不清楚在硬盘上实际的存储方式,特别是文件夹的存储. 保存文件夹的结构很简单,没有这个文件夹下所有文件的索引,看了几遍书,都不能理解在硬盘上文件夹结构的存储,只能根据网上的例子自己跟着做实验.(过程参考了http://blog.chinaunix.net/u1/48373/showart_1210707.html的博客) 首先显示要分配一个空间,格式化为ext2分区,并在这个空间上

Linux日志式文件系统面面观_unix linux

    文件系统是用来管理和组织保存在磁盘驱动器上的数据的系统软件,其实现了数据完整性的保 证,也就是保证写入磁盘的数据和随后读出的内容的一致性.除了保存以文件方式存储的数据以外,一个文件系统同样存储和管理关于文件和文件系统自身的一些重要信息(例如:日期时间.属主.访问权限.文件大小和存储位置等等).这些信息通常被称为元数据(metadata). 由于为了避免磁盘访问瓶颈效应,一般文件系统大都以异步方式工作,因此如果磁盘操作被突然中断可能导致数据被丢失.例如如果出现这种情况:如果当你处理一个在l

Linux环境中使用Ext3文件系统_unix linux

    Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定.但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统.这在关键行业的应用是一个致命的弱 点.本文向各位介绍Linux下使用ext3日志文件系统应用. Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠.它完全兼容ext2文件系统.用户可以平滑地过渡到一个日志功能健全的文件系统中来.这实际上了也是

Linux环境下使用XFS文件系统_unix linux

    XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮.所幸的是SGI将其移植到了Lin ux系统中.在linux环境下.目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下. 一.XFS文件系统简介 主要特性包括以下几点: 数据完全性 采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了.不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅