表面的には、オペレーティングシステムのファイルシステムはフォルダの大きな山のように見えるかもしれませんが、確かにそれ以上のものがあります。ファイルシステムの表面下にあるものを調査するので、読んでください。
本日の質疑応答セッションは、コミュニティ主導のQ&A WebサイトのグループであるStack Exchangeの下位部門であるSuperUserのご厚意によるものです。
質問
スーパーユーザーリーダーP_Qは、ファイルシステムに興味を持っています。
子供の頃からWindowsを使用していて、「Windowsファイルシステム」というフレーズを聞きます。ディレクトリ内のディレクトリ(フォルダ)、SYSTEMというフォルダ、PROGRAM FILESというフォルダなどを思いつきます。これはシステムですか?フォルダのレイアウトだけですか?
そして最近Linuxを使い始めました。参考書は、Linuxファイルシステムではすべてがルートから始まり、そこから分岐すると述べています。これはWindowsとどう違うのですか?つまり、LinuxシステムとWindowsシステムは、ディレクトリツリーを設定するための2つの方法にすぎないようです。これはファイルシステムの意味ですか?
この単純なファイルシステムの扱いは、それを記述する最も正確な方法ですか?もう少し掘り下げましょう。
答え
SuperUserの寄稿者であるTom Wijsmanは、WindowsおよびLinuxオペレーティングシステム内のファイルシステムの構造について洞察に満ちた外観を提供しています。彼は書く:
フォルダのレイアウトだけですか?
本当であるには余りにもよい音…
例としてFAT32ファイルシステムを見てみましょう。 Windows XPをインストールできますが、メモリカードでも使用できます。メモリカードでは、合計したフォルダはありません。
そのため、オペレーティングシステムのファミリのディレクトリレイアウトとファイルシステムを混同しないでください。
これはファイルシステムの意味ですか?
いいえ…ディレクトリ構造を機能させる基本的なビットとバイトを指します。
基礎となるビットとバイト? FAT32を見せて!
FAT32の外観を見てみましょう。
- ボリュームIDや予約済みセクターなど、最初のいくつかのヘッダーセクター
- 2つのファイルアロケーションテーブル。ファイルの場所を特定できます。
- すべてのディレクトリとファイルデータを含むクラスター。
- 使用できない非常に小さな未使用スペース。
FATテーブルは、次のような多くのエントリで構成されています。これにより、ディレクトリまたはファイルがクラスター空間のどこに格納されているか、およびいくつかの属性とサイズを特定できます。
ディレクトリエントリは、ディレクトリ/ファイルエントリのリストを示します…
クラスター空間では、クラスターを移動して必要なデータを見つけることができます。クラスタには基本的に、次のフラグメントが存在するデータと情報が含まれています
他のファイルシステムは異なりますか? NTFSを見せて!
違いに気付くように画像をお見せします。残りは読者の宿題です。詳細については、このブログアーカイブまたはGoogleをご覧ください。
主な考え方は、NTFSはFAT32を大幅に改善したもので、より堅牢で効率的です。断片化をさらに防ぐためにビットマップを使用することにより、(未)使用済みスペースのより良いアイデアを持っています。等々…
Linuxのファイルシステムについてはどうですか? ext2 / 3を見せて!
アイデアは、ext2 / ext3がスーパーブロックを使用し、iノード;これにより、ソフトリンクとハードリンク、ファイルであるディレクトリ、複数の名前を持つファイルなどが可能になります。主な要点は、ファイルシステムがよりメタっぽいことを実行できるようにするために抽象化されています…
ファイルシステムの詳細については、次のHow-To Geekの記事をご覧ください。
- HTGの説明:Linuxディレクトリ構造の説明
- HTGの説明:どのLinuxファイルシステムを選択すべきですか?
- USBドライブに使用するファイルシステムは何ですか?
説明に追加するものがありますか?コメントで鳴り響きます。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらでディスカッションスレッド全体をご覧ください。