Chinaunix首页 | 论坛 | 博客
  • 博客访问: 194376
  • 博文数量: 39
  • 博客积分: 1491
  • 博客等级: 上尉
  • 技术积分: 411
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-05 16:12
文章分类

全部博文(39)

文章存档

2011年(3)

2010年(6)

2009年(30)

我的朋友

分类: LINUX

2009-02-05 15:23:27

     一个ext2文件系统的文件或目录包括索引结点和数据块两个部分,索引结点存放文件的属性、存取权限、修改时间以及其他的一些信息,而数据块存放文件的内容。文件和目录不一样的地方:

• 目录:
  当我们在 Linux 下的 ext2 档案系统建立一个目录时, ext2 会分配一个 inode 与至少一块Block 给该目录。其中,inode 记录该目录的相关属性,并指向分配到的那块 Block ;而 Block则是记录在这个目录下的相关连的档案(或目录)的关连性!
• 档案:
  当我们在 Linux 下的 ext2 建立一个一般档案时, ext2 会分配至少一个 inode 与相对于该档案大小的 Block 数量给该档案。例如:假设我的一个 Block 为 4 Kbytes ,而我要建立一个 100KBytes 的档案,那么 linux 将分配一个 inode 与 25 个 Block 来储存该档案!
      
ext2文件有以下持点:
  • Blocks 与 inodes 在一开始格式化时 (format) 就已经固定了;
  • 一个 partition 能够容纳的档案数与 inode 有关;
  • 一般来说,每 4Kbytes 的硬盘空间分配一个 inode ;
  • 一个 inode 的大小为 128 bytes;
  • Block 为固定大小,目前支持 1024/2048/4096 bytes 等;
  • Block 越大,则损耗的硬盘空间也越多。
  • 关于单一档案:
    若 block size=1024,最大容量为 16GB,若 block size=4096,容量最大为 2TB;
  • 关于整个 partition :
    若 block size=1024,则容量达 2TB,若 block size=4096,则容量达 32TB。
  • 文件名最长达 255 字符,完整文件名长达 4096 字符。                 

    当一个 ext2 的 filesystem 被建立时, 他拥有 superblock / group description / block bitmap / inode bitmap / inode table / data blocks 等等区域。要注意的是,每个 ext2 filesystem 在被建立的时候,会依据 partition 的大小, 给予数个 block group ,而每个block group 就有上述的这些部分。整个 filesystem 的架构可以下图展现:

  • SuperBlock:如前所述, Superblock 是记录整个 filesystem 相关信息的地方, 没有Superblock ,就没有这个 filesystem 了。他记录的信息主要有:
         
      o 
block 与 inode 的总量;
         
      o 
未使用与已使用的 inode / block 数量;
         
      o 
一个 block 与一个 inode 的大小;
         
      o 
filesystem 的挂载时间、最近一次写入数据的时间、最近一次检验磁盘 (fsck) 的时间等档案系统的相关信息;
         
      o 
一个 valid bit 数值,若此档案系统已被挂载,则 valid bit 为 0 ,若未被挂载,则 valid bit 为 1 。
  • Group Description:纪录此 block 由由何处开始记录;
  • Block bitmap:此处记录那个 block 有没有被使用;
  • Inode bitmap:此处记录那个 inode 有没有被使用;
  • Inode table:为每个 inode 数据存放区;
  • Data Blocks:为每个 block 数据存放区。
    如果想要知道某个 ext2/ext3 的档案系统内,关于上述提到的相关信息时,可以使用 dumpe2fs 这个指令来读取,如 dumpe2fs /dev/sda6

阅读(1985) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~