ディスクドライブとディスクドライブのようなデバイスは「ダム」です。LBAを要求すると、含まれている512、2048、または4096バイトが返されます。書き込みの逆も同様です。
ファイルシステムレイヤーを使用すると、「c:\ users \ public \ documents \ whatever.docが必要」と言ってストリーミング操作を実行できます(開く、読み取り、書き込み、シーク、閉じる)。名前でアドレス可能な場所から一連の場所に変換されます。 LBAの読み取り/書き込み要求の数。
したがって、ファイルシステムレイヤーには2つの側面があり、1つはディスクドライブのような(またはブロック)デバイスと通信し、もう1つはオペレーティングシステムと通信します。これは、オペレーティングシステムの特異性が関係するところです。通常、ファイルシステムのブロックデバイス側はデバイスドライバーであり、オペレーティングシステム側はアプリケーションで使用可能なAPIです。しかし、これらは単なるインターフェースであり、ファイルシステム層の基本的な操作に実際に影響を与える必要はありません。
すべてのファイルシステムでは、ファイルに関する情報を追跡するために、つまりアクセス許可や属性などを記録するために、追加のデータがファイルデータの外部に書き込まれ、読み取られます。
起動にはちょっとした問題があります。オペレーティングシステムファイルがファイルシステムに保存されているためですが、ファイルシステムレイヤーがまだアクティブでない場合、ファイルはどのように読み込まれますか。Linuxは、初期RAMディスクを使用するか、カーネルの一部としてファイルシステムコードを組み込むことで、この問題を解決します。Windowsは、WindowsブートローダーにFATおよびNTFSパーティションを読み取る機能を提供することにより、この問題を解決します。ブートローダーは、LBA 0をロードしてそれを実行し、そのコードが後で取得することを期待するほとんどの古典的なBIOSブートローダーのように、ダムである場合や、かなりインテリジェントで、UEFI、U-bootなどの独自の小さなファイルシステムレイヤーを使用する場合があります。
LVMはファイルシステムではありません。1つまたは複数のブロックデバイスを受け取り、それを別の「仮想」ブロックデバイスに抽象化します(/dev/mapper
内部にあるもの/dev/mapper
はすべて仮想ブロックデバイスです)。ファイルシステムをパーティションの「上」に置くのと同じ方法で、ファイルシステムをLVMの「上」に置きます。LVMは、1つ以上のデバイスドライバーとファイルシステムの間の別のレイヤーであり、仮想ブロックデバイス上のLBAに対する読み取りと書き込みを1つ以上の他のブロックデバイスに変換します。はい、LVMは仮想ブロックデバイスにすることができ、それらのカスケードを持つことができます。