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. ブロックグループの操作中に更新されますSuper Block(backup)か ? http://www.virtualblueness.net/Ext2fs-overview/Ext2fs-overview-0.1-7.htmlは、Group Descriptors(backups)

各ブロック グループには、スーパーブロックの直後の 2 番目のブロックに、グループ記述子のテーブル全体が含まれています。(???)ただし、実際にカーネルが使用するのは最初のコピー (グループ 0 内) だけです。他のコピーはバックアップ目的で存在し、メイン コピーが破損した場合に使用できます。

最初の文が暗示しようとしているように、そのソースを見たことがある場合Group Descriptorはありません.(多分私はそれを見逃しました) ??entire table of group descriptors

バックアップシステム全体は意味がありません。適切なバックアップでは、すべてのコピーをシンクに保持する必要があります。これがどのように行われるかわかりません。
3. の目的はInode Table何ですか?
4.Directoriesサブディレクトリの作成方法は? ディレクトリ テーブルの各エントリは、 のエントリを指しInode Tableます。

ありがとう !(他にも質問があるかもしれません。)

4

2 に答える 2

3

ブロック グループには、バックアップ タイプ通常タイプの 2 種類があります。

バックアップ タイプ: スーパーブロックとブロック グループ記述子テーブルに加えて、通常のタイプ(以下) のすべてが含まれます。

通常のタイプ: ブロック ビットマップ、I ノード ビットマップ、I ノード テーブル、およびデータ ブロック。

バックアップ ブロック グループは、グループ 0 と 1、および 3、5、および 7 の累乗であるすべてのグループです。

各ブロック グループ記述子テーブルには、複数のブロック グループ記述子が含まれています。ブロック グループごとに 1 つのブロック グループ記述子があります。したがって、450 個のブロック グループがある場合、450 個のブロック グループ記述子が、1 つのブロック グループ記述子TABLE内で互いに隣り合って配置されます。

inode テーブルの目的は、後でファイル システムで使用できる空き inode をいくつか作成することです。ext2/3 ファイル システムが作成された後は、新しい inode を作成できません。ファイルシステム作成時に設定する固定番号です。

ディレクトリの作成方法は次のとおりです。空いている inode が選択され、ディレクトリ情報を保持するために選択されます。次に、空きデータ ブロックが選択され、ディレクトリ エントリ情報が保持されます。空のディレクトリでも、データ ブロックには 2 つのディレクトリ エントリが含まれます。独自のディレクトリ用のディレクトリ エントリと、その親ディレクトリ用のディレクトリ エントリ。そのため、新しいディレクトリの場合、i ノードが選択され、データ ブロックが選択されて最初の 2 つのディレクトリ エントリが保持されます。新しいファイルまたはディレクトリが作成されると、より多くのディレクトリ エントリがそのデータ ブロックに追加されます。

于 2013-05-23T15:04:14.843 に答える