ファイルシステムの実装方法はまだ混乱しています。
Unix / Linuxの観点からは、各ファイルシステムには独自のドライバが必要ですか?したがって、カーネルの特別な実行コードを使用して通信します。それともデータ構造のみを含めますか?
EXT4やFATなどのファイルシステムでSDカードをフォーマットすると、カーネルがファイルシステムを決定できるため、すでにSDカードと通信する能力があるようです。
新しいファイルシステムを作成し、それを使ってSDカードをフォーマットするとどうなりますか?カーネルはここに書く方法などをどうやって知ることができますか?よろしくお願いします。
答え1
この質問はほとんど重複しますが、2つの別々の質問なので、短くして詳細については前の質問を参照してください。はい、各ファイルシステムには独自のドライバが必要です。 (同じコードスニペットをファイルシステムと同様のドライバとして使用することもできます。たとえば、Linux ext4ドライバはext3ドライバでもあります。)Linuxカーネルはファイルシステムをどのようにマウントしますか?これは実際に何をしますか?詳細については。
汎用ファイルシステムサポートコードは、mount
コマンドまたはシステムコールのコマンドとファイルシステムの内部または外部に格納されているメタデータ(パーティションメタデータ - これは非常に不完全で信頼できず、しばしばファイルシステムのメタデータに関連付けられているため、ほとんど使用されません。ファイルシステムが重複しています)。バラより外付けハードドライブに保存されているファイルシステムの形式に関する情報はどこにありますか?
独自のファイルシステムを作成する場合は、それにドライバを提供する必要があります。