第二延伸档案系统(ext2)介绍

自从我们开始使用电脑后,大多数的使用者都曾经使用过档案,而我们总是对关于硬碟如何正确地储存档案感到好奇,它看起来似乎非常抽象,所以今天让我们看一看Linux作业系统中较新的档案系统版本『第二延伸系统( ext2 )』 ,并了解它各方面之用途。 这个档案系统是主要来自于Andrew Tanenbaum所写的Minix档案系统,它也是唯一可用在免费作业系统的档案系统,称之为Minix。它后来修正为Linux所惯用的档案系统并称为延伸档案系统,到现在Linux的档案系统称为ext2 (第二延伸档案系统),它是延伸档案系统中较新的版本并支援存取控制列(ACL)。 但是在着手研究ext2档案系统之前,让我们先了解档案系统中之专有名词的关联。



  • Block (区块):档案在磁碟中被储存在整数固定大小的区块中,那区块的大小通常是2的次方。在预设中,ext2档案系统的区块大小是4K。研究颢示, 4K位元组对于一磁碟区块而言是最理想的大小,假如一个档案的大小无法达成4K位元组的倍数时,那最后的磁碟区块部分就会被浪费。在最不好的例子中几乎在完整的区块中就有一位元组被浪费掉。对于这情况有一点技巧,假如我们选择了一个较大的区块,则对于小的档案而言会有一些磁碟空间被浪费掉。另外一方面,假如我们使用一个非常小的区块,则磁碟区块数量会成指数的增加,因此对于档案而言需有更多的搜寻时间。所以,选择区块大小必须三思而后行。 当一个档案被载入到记忆体时,那磁碟区块会被放在主记忆体中之缓冲快取区,假如它们已经变更了,区块在缓冲区中会被标记为'Dirty',其意指的是这些区块必须先写到磁碟中来维持磁碟上的区块及在主记忆体中的区块之一致性.





  • Superblock:superblock是在每个档案系统开始的位置,其储存资讯像是档案系统的大小,空的和填满的区块,它们各自的总数和其他诸如此类的资料。要从一个档案系统中存取任何档案皆须经过档案系统中之superblock。如果superblock损坏了,它可能无法从磁碟中去取得资料。

  • Inode :对于档案系统而言一个inode是在inode表格中的一个项目。Inode包含了所有档案有关的资讯例如名称、大小、连接的数量、资料建立之日期,修改及存取的时间。它也包含了磁碟区块的档案指向(pointer)。pointer是用来记录档案被储存在何处。

Ext2fs公用程式

现在让我们来看看一些标准Linux版本之ext2fsprogs公用程式:
  • e2fsck
    这个程式允许我们在ext2档案系统上去执行档案系统检查,它像是Windows中之Scandisk一样,但却是一种更有效的系统检查方式。在此,我们可以加上一个档案名称来检查上面之损坏区块。 警告:绝对不要在任何已挂载的档案系统上执行e2fsck/fsck。假如我们想要去执行fsck,我们应该卸下档案系统后再去执行fsck(亦即需要umount该磁区啰)。如果不这样做,可能会让档案系统毁损。



  • tune2fs
    这允许我们去调整档案系统的参数设定。在此,我们可以设定在两个档案系统检查间之最大挂载总数、容量标记、错误行为、变更保留的资讯和许多其他参数。

  • dumpe2fs
    这个程式将ext2档案系统状态输出到标准的设备上。它对于分析问题以及存取一般关于档案系统用法的资讯是有帮助的。

  • mke2fs
    这个程式允许我们在先前尚未格式化的磁碟中,去建立一个ext2的档案系统。它提供了许多的选项包含区块的大小、段落的大小、每一个inode的位元组到多种磁碟阵列的选项。mke2fs通常在第一次安装的期间执行,并建立完成新的root及其他的档案系统。(就相当于DOS底下的format程式啦!)

  • badblocks
    这个程式去搜寻磁碟并检查区块是否已经损坏,它通常会在新的档案系统安装程式前执行,但请不要在挂载好的档案系统上执行。
在Linux档案系统中最新的版本被称为ext3,并已有Journaling 之支援。Journaling 档案系统对于所有已完成的步骤,持有记录以及检查点,所以假使系统当机时,它可以从最后的检查点来还原档案系统。

你可能感兴趣的:(第二延伸档案系统(ext2)介绍)