VFS concept

  

LinuxはExt2ファイルシステム以外にもさまざまなファイルシステムをサポートできます。Linuxは、仮想ファイルと呼ばれる統一されたフレームワーク、いわゆる仮想ファイルシステム変換(Virtual FilesystemSwitch)を提供するためです。システム(VFS)このようにして、ユーザプログラムは、同じファイルシステムインタフェース、すなわち同じシステムコールのセットを介してさまざまなファイルシステムおよびファイルを操作することができます。

1. Linuxは何十ものファイルシステムをサポートしています。どのように管理されていますか。

まず、VFSはファイルシステムにマウントされたファイルシステムのみを管理します。つまり、オンデマンドで管理されます。

次に、Unixのデザインを継承するため、ファイル、ディレクトリエントリ、iノード、スーパーブロックも管理します。

2. VFSの4つの主要オブジェクト

(1)スーパーブロックオブジェクト:マウントされたファイルシステムについて説明します。

各ファイルシステムはスーパーオブジェクトに対応します。ファイルシステム制御情報はスーパーブロックに格納されます。 (2)インデックスノードオブジェクト:ファイルを記述します。

各ファイルにはiノードオブジェクトがあります。各iノードオブジェクトにはiノード番号があります----->ファイルシステム内の指定されたファイルを一意に識別するのはこの番号です。 (3)ディレクトリ項目オブジェクト:パスの一部であるディレクトリエントリを記述する。

VFSは各ディレクトリをいくつかのサブディレクトリとファイルからなる通常のファイルとして扱います。

例:/tmp /testというパス名を調べると、カーネルはルートディレクトリ' /'の最初のディレクトリエントリオブジェクトを作成し、ルートディレクトリのtmpエントリの2番目のディレクトリエントリオブジェクトを作成します。 /tmpディレクトリにテストエントリ用の第3レベルのディレクトリエントリオブジェクトを作成します。 (4)ファイルオブジェクト:プロセスによって開かれたファイルを記述する。

説明:

1. VFSはディレクトリをファイルとして扱うため、ディレクトリオブジェクトはありません。ディレクトリエントリはディレクトリとは異なりますが、ディレクトリはファイルと同じです。

2.Linuxはファイルに関する情報をファイル自体から分離します。 Linuxのファイルに関する情報は、iノードと呼ばれる別のデータ構造に格納されています。ファイル(ディレクトリ)情報は、iノードの形式で別のブロックに格納され、制御情報は、ディスクのスーパーブロックに集中的に格納されます。

Copyright © Windowsの知識 All Rights Reserved