Reiser、NTFSなどのファイルシステムはファイルテーブルをどこに保存しますか?私たちは独自のファイルシステムを作成することを検討しており、単一のファイルを使用してすべてをbtreeを使用して保持するのか、それともそこにあるものを使用するのかを考えています。
何かアドバイス?これは何よりも学習演習です。
編集:NFSを削除し、NTFSに置き換えました
Reiser、NTFSなどのファイルシステムはファイルテーブルをどこに保存しますか?私たちは独自のファイルシステムを作成することを検討しており、単一のファイルを使用してすべてをbtreeを使用して保持するのか、それともそこにあるものを使用するのかを考えています。
何かアドバイス?これは何よりも学習演習です。
編集:NFSを削除し、NTFSに置き換えました
ブライアンキャリアによるファイルシステムフォレンジック分析
ファイルシステムのレイアウトの基本を理解するための優れた出発点として、この本をお勧めします。はい、タイトルはフォレンジックについて説明していますが、この本はディスク上の構造を説明する優れた仕事をしています。ソースコードを読んでそれらを把握しようとするよりもはるかに簡単です。ソースコードのほとんどは、ディスク自体の構造よりも配置と最適化に関係しています。
ファイルシステムをエンコードするためのいくつかの異なるスキームがあり、速度、単純さ、破損に対する堅牢性などのさまざまなトレードオフがあります。多くのファイルシステム、特にUnixから派生した種類のファイルシステムは、 iノードの概念に基づいています。ReiserFSには、実際にはiノードの概念が含まれていますが、以前のシステムとは異なる方法ですべてを接着しています。
ReiserFSの簡単な説明はここにあります。ただし、基本的なiノードベースの設計概念の非常に優れた概要を読みたい場合は、「4.4BSDオペレーティングシステムの設計と実装」という本を強くお勧めします。全体を説明する非常に優れた章が1つか2つあります。
ファイルシステムを構築するためのまったく異なるアプローチは、悪名高いDOSFATファイルシステムのようなものです。FATシステムは、iノードにまったく基づいておらず、代わりにクラスターチェーン技術を使用してファイルをマップします。FATファイルシステムの設計は、今日の標準ではやや不格好ですが、制限に耐えることができれば、特に元のFAT12またはFAT16の種類で実装するのが非常に簡単であるという利点があります。