关于EXT2文件系统的多个问题

时间:2013-05-05 04:05:15

标签: linux filesystems inode ext2

我正在阅读有关EXT2文件系统的内容,并且有很多问题。

主要依靠以下资源:
http://e2fsprogs.sourceforge.net/ext2intro.html
http://www.virtualblueness.net/Ext2fs-overview/Ext2fs-overview-0.1.html#toc7
http://www.nongnu.org/ext2-doc/ext2.html
http://www.tldp.org/LDP/tlk/fs/filesystem.html

  1. 块组具有以下结构:|Super Block(backup)|Group Descriptors(backups)|Block Bitmap|Inode Bitmap|Inode Table|Data Blocks|(如第一个链接中所述)这是否意味着inode不能声称数据多于Data Block中可用的数据?
  2. 在群组操作期间,Super Block(backup)Group Descriptors(backups)是否会更新? http://www.virtualblueness.net/Ext2fs-overview/Ext2fs-overview-0.1-7.html注意到
  3.   

    每个块组包含整个组描述符表   它的第二个块,就在超级块之后。(???)但是,只有第一块   内核实际使用了copy(在组0中)。其他副本是   用于备份目的,如果主副本获得可以使用   损坏。

    如果您查看了Group Descriptor的来源,则第一句话试图表示没有 entire table of group descriptors 。(也许我错过了它)?

    整个备份系统没有任何意义。正确的备份必须保留在所有副本中,我不知道这是怎么发生的 3. Inode Table的目的是什么? 4. Directories如何创建子目录?目录表中的每个条目都指向Inode Table中的条目。

    谢谢! (我可能还有其他问题。)

2 个答案:

答案 0 :(得分:2)

有两种类型的区块组:备用类型普通类型

备份类型:包含超级块和块组描述符表PLUS 普通类型(下面)中的所有内容。

普通类型:块位图,Inode位图,Inode表和数据块。

备份块组是0和1组,以及3,5和7的所有组。

每个块组描述符表包含几个块组描述符。每个块组有一个块组描述符。因此,如果有450个块组,那么将有450个块组描述符,在一个块组描述符 TABLE 中彼此相邻。

inode表的目的是创建几个可供文件系统稍后使用的免费inode。创建ext2 / 3文件系统后,无法创建新的inode。它是创建文件系统时设置的FIXED编号。

这是创建目录的方式:选择一个免费的inode,并选择它来保存目录信息。接下来,挑选空闲数据块以保存目录条目信息。即使是空目录也包含数据块中的两个目录条目;它自己的目录的目录条目,以及其父目录的目录条目。因此,对于新目录,将选择一个inode,并选择一个数据块来保存前两个目录条目。在创建新文件或目录时,会将更多目录条目添加到其数据块中。

答案 1 :(得分:0)

符合Unix标准的文件系统需要inodes,这是此类文件系统中的核心内容。

回想一下,Unix文件系统可能有link(2)系统调用添加的硬链接。某些文件可以有多个名称,所有这些名称都是等价的。 并且当某个进程open(2)时,磁盘上仍然存在一个文件,即使该文件的名称后来被unlink(2)编辑了。特别是,这是制作临时文件的方法。

事实上, inode 是真实文件(在文件系统中),目录条目包含名称(与磁盘上的inode编号相关联)

实际上, Ext2 已过时,已演变为Ext4。阅读这两个维基百科页面。