0.5 話し標準のLinuxファイルシステム(Ext2ファイル/ Ext3の/ Ext4の)
内線
フルネームLinuxの拡張ファイルシステム、extfsは、つまりLinuxは、ファイルシステムExt2ファイル拡張子は第二世代システム、ext3の/ Ext4のを表し延長など、彼らはExt2ファイルのアップグレード版ですが、順番に素早くファイルシステムを復元するために、一貫性を減らします時間をチェックし、インデックスがext2ファイルシステムとして知られているので、ログを増加し、ext3の/ ext4ファイルシステムは、ログと呼ばれています。
1、[チュートリアル] 、Linuxのすべてが(利点と欠点を含む)のファイルであります
2、Linuxファイルシステムは、詳細なグラフィック容易{}理解するためのリンクを
そして、スペースがそれを管理する方法ですか?簡単な方法を使用して、UNIX / Linuxの。
このディスクブロックは3つのセクションに分かれて:
- スーパーブロックは、ファイルシステムの最初のブロックは、スーパーブロックと呼ばれています。ブロックストレージ構成情報のファイルシステム自体(?メタデータのメタデータ?) 。例えば、各スーパーブロックの記録領域の大きさ、また、記憶された情報は、未使用のディスクブロックをスーパーブロック。
- I-カットポイントテーブル( iノード)。スーパーブロックの次の部分は、Iノードテーブルです。各I-ノードは対応のあるファイル/ディレクトリ構造(すべての基本情報ファイルを含むデータ構造)、
含む構造ファイル、作成および変更時刻、アクセス許可、所属、ディスクの長さを位置情報。ファイル・システムは、インデックスノードの配列維持インデックスノードアレイの唯一の要素に、各ファイルまたはディレクトリ対応します。各インデックスノードへのシステムは、アレイ内のノードのインデックスである番号、呼び出さ割り当てられている inode番号を - データ領域。ファイル・システムの第3の部分は、データ領域。この領域に格納されたファイルの内容。すべてのブロックは、ディスク上の同じサイズです。ファイルは、コンテンツの複数の部分が含まれている場合は、ファイルの内容は、複数のディスク・ブロックに格納されます。大きなファイルを簡単にディスクブロックの独立した生産数千人を配布しました。
正統派のLinuxファイルシステムの(例えば、EXT2、EXT3)ファイルのディレクトリエントリ、inodeデータ・ブロックとコンポーネント。
- ディレクトリエントリ:ファイル名とiノード番号を含みます。
- iノードは:また、inodeファイルとして知られており、基本的な情報ファイルに格納されたデータ・ブロック・ポインタに配置されています。
- データブロック:保存されたファイルの具体的な内容。
オーソドックスなLinuxファイルシステム(例えばext2,3など)ハードディスクのパーティションに分割されるディレクトリブロック、iノードブロックは、表と、データブロックのデータ領域。ファイルのディレクトリエントリ、iノード・ブロックとデータ領域。inodeファイルの属性(例えば、読み書きプロパティ、所有者、等、及びデータ・ブロックへのポインタ)を含んで、データブロックは、ファイル領域の内容です。ファイルを表示すると、ファイル属性と孤立点データは、iノードテーブルの先頭に格納され、データブロックから再リードデータ。
ファイル記憶構造は、おおよそ次の通り:
ここで、ディレクトリエントリ(のdentry) 、以下のような構造である(ディレクトリエントリは、ファイルの内容のファイルディレクトリに格納された各ファイルに属します)。
図4:ディレクトリエントリ構造
ファイル内のinode構造次のように(付属のinodeファイルで得られた情報は、STATファイル名を介して見ることができる)
よりちょうど一般的な構造、Linuxファイルシステム自体が進化している反映比べ。しかし、基本的な概念よりは変更されません。あなたは特別なファイル・システムの導入を表示することができます理解したい場合や、EXT2、EXT3、ext4ファイルシステムとして、大きな違いがあります。
手順のファイルを作成します。2.
我々は、ファイルの内容や性質が別々に保存されている知ることができる以上のことから、それらを管理する方法ありますか?今、私たちは説明するための例として、ファイルを作成する必要があります。
コマンドラインで、次のコマンドを入力:
$ WHO>のUserList
このコマンドの完了時に。ファイルシステムは、ユーザリスト、そして最終的には、このプロセス全体は、それが起こったのかであるコマンドの出力の内容を格納するための新しいファイルを追加しますか?
ファイル属性、コンテンツ、およびファイル名の3つがあります。データ領域に格納されたファイルのコアコンテンツは、I-ノードに格納されたファイル属性は、ファイル名がディレクトリに格納されています。
首尾よく次の4つの手順で主にファイルを作成しました:
- ストレージ属性ファイル属性に格納されている1、カーネルは、まず空のI-ノードを見つけます。たとえば、カーネルは、I-ノード番号921130を見つけます。カーネル情報ファイルには、それらを記録します。このようなファイルのサイズ、ファイルの所有者、作成時刻、および上のように。
- 図2は、即ち、ファイルので格納されたデータファイルに格納されたコンテンツは、3つのデータを必要とします。そのため、カーネルは、空きブロックの空きリストから、三つのブロックを発見しました。そのようなそれぞれ600200992、カーネルバッファ、第二及び第三のコピー922及び600へのデータブロック600のコピー、など。
- 3、配布レコードには、3つのデータ・ブロックにデータを保存します。適切なデータを見つけるために、後でアップ記録する必要があります。ノードI-ファイル内のレコードの配布数リストのディスクの内側。これらの3つの数字が始まる3箇所に配置されています。
- 4は、ディレクトリの名前にファイル名を追加し、新しいファイルには、カタログファイルに追加ユーザリストカーネルファイルのエントリ(47、ユーザリスト)です。ファイル名とファイルとの接続のコンテンツ属性にファイル名とI-ノード番号との対応、ファイルのI-ノード番号を検索し、ファイル名を見つけ、あなたはI-ノード番号を経由してプロパティやコンテンツファイルを見つけることができます。
特定の実施プロセスのためのリファレンスコード:
http://blog.csdn.net/kai_ding/article/details/9206057