1

我正在阅读有关 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. 在 Block Group 的操作过程中执行Super Block(backup)并 获得更新?http://www.virtualblueness.net/Ext2fs-overview/Ext2fs-overview-0.1-7.html指出Group Descriptors(backups)

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

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

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

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

4

2 回答 2

3

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

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

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

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

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

inode 表的目的是创建几个空闲的 inode,供文件系统稍后使用。创建 ext2/3 文件系统后,您不能创建新的 inode。它是创建文件系统时设置的 FIXED 编号。

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

于 2013-05-23T15:04:14.843 回答
0

Unix 兼容的文件系统需要有inode,这是此类文件系统的核心。

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

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

实际上,Ext2已经过时并且已经发展到Ext4。阅读这两个维基百科页面。

于 2013-05-05T07:06:37.497 回答