Linux の基礎とアプリケーション開発シリーズ VII: すべてはファイルです

Linuxカーネル

ハードウェアの違いを保護し、すべてのハードウェア デバイスをファイルに抽象化し、ユーザーが使用できる統一インターフェイスを提供します。

仮想ファイルシステム

抽象化層、ファイルへのアクセスは実際には抽象化層へのアクセスになります。

  • 抽象オブジェクト: 最下層で読み取りと書き込みの詳細をカプセル化し、C 言語のポリモーフィズムを使用して特定のファイル システム システムのインターフェイスを実現します。

Virtual File System (略して VFS) は、Linux オペレーティング システムのサブシステムであり、さまざまなタイプのファイル システムを統合管理するための抽象化レイヤーを提供します。VFS を使用すると、アプリケーションは、基盤となるファイル システムの特定の実装を気にせずに、統合インターフェイスを使用してさまざまなファイル システムにアクセスできます。

Linux では、各ファイル システムには、ファイルの読み取り、書き込み、作成、削除などの特定のファイル システム操作の実装を担当する独自のドライバーがあります。VFS は、アプリケーションが同じ方法を使用して、ext4、NTFS、FAT32、その他のファイル システムなど、さまざまなタイプのファイル システムを操作できる共通のファイル システム インターフェイスを提供します。

VFS の中核となるデータ構造は、仮想ファイル テーブル (Virtual File Table、VFT と呼ばれます) です。開かれた各ファイルには、対応する VFT アイテムがあり、ファイルの場所、権限、操作など、ファイルに関連する情報が含まれます。VFS は、ファイルの検索、開く、閉じる、読み取りと書き込みなどの操作のためのいくつかの機能も提供します。

VFS を通じて、ユーザーはアプリケーションのコードを変更せずに、異なるファイル システム間を切り替えることができます。これにより、Linux はさまざまなファイル システムをサポートできるようになり、アプリケーションの柔軟性と移植性が向上します。

 

 

通常のファイルシステム:

  • 内線4

  • 脂肪32

  • ユビフ

特殊なファイル システム:

  • プロセス ファイル システム: procfs、/proc にマウント (マウント コマンド)、プロセス関連情報を格納します。win のタスク マネージャーに相当します。

  • デバイス ファイル システム: devfs、/dev にマウントされます。ハードウェア操作インターフェースを保存します。

おすすめ

転載: blog.csdn.net/qq_51519091/article/details/132193947