ファイルシステムは単なるフォルダーのレイアウトですか?


56

私は子供の頃からWindowsを使用していましたが、「Windowsファイルシステム」というフレーズを聞いたとき、ディレクトリ内のディレクトリ(フォルダ)、SYSTEMというフォルダ、PROGRAM FILESというフォルダなどを思い浮かべます。フォルダーのレイアウトだけですか?

そして最近、Linuxの使用を開始しました。参考書には、Linuxファイルシステムではすべてがルートから始まり、そこから分岐することが書かれています。Windowsとはどう違うのですか?つまり、LinuxシステムとWindowsシステムは、ディレクトリツリーを設定する2つの方法にすぎないようです。これはファイルシステムの意味ですか?


3
en.wikipedia.org/wiki/Filesystemを読んでみましたか?
チョロバ

2
参考までに、「Linuxファイルシステム」はありません。この本が意味することは、Linuxディレクトリツリーです。そして、はい、ディレクトリツリーは単なるフォルダのレイアウトです。
user606723

2
Linuxはドライブの概念を欠いているので、すべてがマウントされ/ます。Windowsでは、UNIXスタイルのマウントがないため(ここで間違っている場合は修正してください)、ドライブの周りにすべてが整理されているため、これは当てはまりません。
new123456

1
@ new123456修正された感じ。Windowsは(W2kまたはNT以降の)マウントをサポートしていますが、この機能はほとんど使用されません。
クバンチク

回答:


130

フォルダーのレイアウトだけですか?

本当だとは思えない...

FAT32ファイルシステムを例としてみましょう。Windows XPをインストールできますが、メモリカードでも使用できます。メモリカードには、合計したフォルダがありません。

だから...オペレーティングシステムファミリーのディレクトリレイアウトをファイルシステムと混同しないでください。

これはファイルシステムの意味ですか?

いいえ...これは、ディレクトリ構造を機能させる基本的なビットとバイトを指します。

基礎となるビットとバイト?FAT32を見せてください!

FAT32の外観を見てみましょう。

  • ボリュームIDや予約済みセクターなどの最初のヘッダーセクター
  • 2つのファイルアロケーションテーブル。ファイルの場所を把握できます。
  • すべてのディレクトリおよびファイルデータを含むクラスター。
  • 使用できない非常に小さな未使用領域。

FATテーブルは、このように見える多数のエントリで構成されており、ディレクトリスペースまたはファイルがクラスタスペースのどこに格納されているか、およびいくつかの属性とサイズを決定できます。

ディレクトリエントリは、ディレクトリ/ファイルエントリのリストを指します...

クラスター空間では、クラスターを移動して必要なデータを見つけることができます。クラスターには基本的に、次のフラグメントが存在するデータと情報が含まれます

ここに画像の説明を入力してください

他のファイルシステムは異なりますか?NTFSを見せてください!

違いに気付くことができるように画像を表示しますが、残りは読者の宿題です。詳細については、このブログアーカイブまたはGoogleを参照してください。

主なアイデアは、NTFSがFAT32よりも大幅に改善されており、より堅牢/効率的であるということです。ビットマップを使用して断片化をさらに防ぐことにより、使用されていない(使用されていない)スペースのアイデアを持つ。等々...

http://thinkdifferent.typepad.com/photos/uncategorized/04ntfsfilesystem.png

Linuxのファイルシステムはどうですか?ext2 / 3を見せてください!

ext2 / ext3はスーパーブロックとiノードを使用するという考え方です。これにより、ソフトリンクとハードリンク、ファイルであるディレクトリ、複数の名前を持つファイルなどが可能になります。主な要点は、ファイルシステムがよりメタっぽいものを実行できるように抽象化することです...

http://thinkdifferent.typepad.com/photos/uncategorized/03extfilesystem.png


@Shadok:後のセクションを改善するかもしれませんが、最近忙しいです...ありがとう。
タマラWijsman

2
できればこれを+2します。さて、なぜこれ以上ドキュメントと仕様がこれ以上見えないのでしょうか!?
グレートウルフ

おそらく、この@TomWijsmanに関するブログ投稿を書くべきです;-)
Ivo

@IvoFlipse:「データストレージ:仕組み」シリーズが可能かもしれません、ここに別の答えがあります。大きな&$#写真は言葉以上のことを言っています... :)
タマラWijsman

確かに、素晴らしいアイデアのように聞こえる
イヴォFlipse

14

LinuxとWindowsの大きな違いは、少なくともファイルシステムとディレクトリツリーに関しては、Linuxでは「すべてがファイル」であり、すべてが単一のルートから派生していることです。これは、BSD、OS X、Solarisなど、ほとんどすべてのUnix派生OSにも当てはまりますが、「Linux」とは(完全に正確ではないにしても)総称的なものです。

しかし、実際にはそれはどういう意味ですか?

Windowsでは、ファイルシステムに複数の名前付きルートを使用できます。これらはドライブ文字として理解できます:C: D: E:など。それぞれにルート(\)と、そこから派生するツリーがあります。Windowsの最近のバージョンでは、ボリューム(パーティションと見なすもの)を既存の空のフォルダーにマウントできるボリュームマウントポイントなどを使用できます。したがってD:、たとえば、光学(CD / DVD / BR)ドライブのルートを表す\の代わりに、マウントすることができますC:\Optical。これは、Linuxの動作に似ています。Linuxが使用し、オブジェクトマネージャーによって管理されるものに似た、Windowsのすべての基盤となる単一ルートのオブジェクト名前空間もありますが、ほとんどのユーザーは、主にカーネル使用のために参照されることはほとんどありません。

Linuxには単一のルートがあります/すべてがそこから派生したものであり、必ずしもハードドライブを表す必要はありません。ハードドライブ、オプティカルドライブ、メモリカード、ネットワーク共有、プリンター、スキャナー、CPU、RAM、プロセスなど...すべてがこの単一の名前空間内のどこかに表され、標準ファイル管理APIを使用して任意のプロセスからアクセスできます。十分に高いレベルのアクセス。読み書きできるからといって、それがLinuxのハードドライブ上のファイルであることを意味するわけではありません。たとえば、デバイスは通常にマウントされる/devため、そこにあるものにアクセスすることは、多くの場合、デバイスと話していることを意味します。サウンドカード、スキャナー、カメラなどです。これらはデバイスファイルと呼ばれますProcfs通常に取り付けられています特別な「ファイルシステム」である/procなど、各ディレクトリ内のファイルは、そのプロセスを起動するために使用するコマンドラインのようなもの、メモリマップ、開いているファイルに関連して、すべての実行中のプロセスのための「ディレクトリ」を持っている sysfsのは別です/sys実行中のカーネルオブジェクトに関する豊富な情報を公開するために使用される特別なファイルシステム(にマウント)、特定のファイルに書き込むだけで実行中のカーネルを微調整するためにも使用できます。


2
ユーザーの観点からは、ファイルシステムとディレクトリレイアウトを混同しやすいことに注意してください。ファイルシステムという用語は、実際にはファイルシステムの内部を指すように意図されています。例えば。FATとNTFSの違いだけでなく、ext2とext3の間の違い...
タマラWijsman

4
@Tom:OPは、ディスク上のビットの配置方法ではなく、LinuxとWindowsのさまざまなオブジェクト階層の違いについて本当に質問しているようです。udev、procfs、sysfs、tmpfsなどは、ディスク上のものを含まないという事実にもかかわらず、ext2またはNTFSがLinuxにあるのと同じくらいのファイルシステムです。
afrazier

これは彼の質問「ファイルシステムは単なるフォルダのレイアウトですか?」の一部にすぎません。質問に答える方法は、混乱を招くだけであり、その質問には対応していません。したがって、私は読者のため予告を残し...
タマラWijsman

Linuxの「すべてがファイル」の場合は+1。これは、私にとってLinuxとWindowsの大きな違いです。
-Rabarberski

3

ファイルシステムは、ディレクトリツリーの設定方法だけでなく、この情報がメディア上でどのようにエンコードされるかについても重要です。Linuxにはいくつかのファイルシステムがあります:ext3、xfs、raiserfsなど。


3

ファイルシステムは、MS WordとPDFがドキュメントを保存するための異なるフォーマット、またはMP3とWAVがオーディオを保存するための異なるフォーマットに似ている、ファイルとフォルダーを保存するための異なるフォーマットと考えることができます。

いくつかのファイルとフォルダーを考えると、ファイルシステムは、それらをディスクに保存する形式とコードであり、それらを再度読み戻すことができます。

すべてのビデオプレーヤーがすべてのビデオ形式を再生できるわけではなく、すべてのオペレーティングシステムがすべてのファイルシステムを読み取ることができるわけではありません。たとえば、Linuxのファイルをext3フォーマットのUSBスティックに保存すると、ext3ファイルシステムの処理方法がわからないため、Windowsはファイルを読み取ることができません。

一般的なファイルシステムには、

  • FATおよびNTFS(Windows、新しいWindowsバージョンではNTFSが標準です)
  • ext3およびext4(Linux)
  • HFS plus(OS X)
  • ISO 9660およびUDF(CD、DVD、およびBlu-Ray)

ファイルシステムの比較については、Wikipediaを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.