ファイルシステムはオペレーティングシステムの一部ですか?


9

ストレージデバイスのファイルシステムがOSの一部であるかどうか疑問に思っていましたか?

そうは思いません。代わりに、ストレージデバイスの一部であり、OSによって作成されたものの、OSの外部に存在します。私の理解は正しいですか?

しかしウィキペディアでは

ファイルシステムは最新のオペレーティングシステムの不可欠な部分であるため、ほとんどのオペレーティングシステムはファイルシステムを提供します。

LVMの場合、それはOSの一部ですか?はいの場合、LVMで構築された仮想ファイルシステムはOSの一部ですか?


OS自体はファイルシステム内にあるので、OSの不可欠な部分であり、回避策とは言えません。
Moab、2011年

あなたの理由によると、ファイルシステムのOS部分はその逆よりも適していますか?
Tim

実際には、OSはハードディスクやその他のストレージデバイスを使用せずにメモリに常駐できるため、ファイルシステムはストレージメディアの要件であると思います。
Moab

回答:


10

ストレージ表現上の情報の物理的な順序で表されるファイルシステム自体は、OSから独立しています。OSには、ファイルシステムを操作するためのドライバーが含まれています。一部のファイルシステムには、それと通信できるOSが1つしかない場合があり、そのOSにはそのファイルシステムがハードコードされています(Novell NetWareの元のファイルシステムを考えてください)。しかし、それが理由で、他のOS用のそのようなドライバーを書くことを進取的な人が止めることはありません。

LVMはファイルシステムではなく、ボリュームマネージャーです。ボリュームマネージャーは、ファイルシステムと同様に、論理ストレージプレゼンテーションに格納されたデータに依存して、さらに論理ボリュームのストレージにアクセスする方法を定義します。LVMの場合、LinuxとBSDはどちらも、それぞれのLVM実装に同じストレージ上フォーマットを使用できます。

Windowsボリュームマネージャーはダイナミックディスクであり、一部の企業家はそれらにアクセスするためのLinuxドライバーを作成しています。

ディスクのセットを取得する場合、何らかのLinuxをインストールし、それらをLVMでセットアップしext3、論理ボリュームにいくつかのファイルシステムをインストールしてから、ドライブをFreeBSDマシンに配置すると、FreeBSDマシンはディスクを読み取ることができます。多分。これは、FreeBSDがLVMとext3の両方の物理レイアウトを理解し、それらとのやり取りに必要なOS内メモリとアクセス構造を実装するドライバーを持っているためです。

ドライバは、ストレージレイアウトを解釈するために必要な「OSに」ほとんど常にあるが、実際のストレージ自体のレイアウトがあると考えられていません。


4

ServerFaultでこれに答えました。もう一度答えます:

ここでの問題は「ファイルシステム」という言葉です。POSIX / Unix / Linuxの世界では、いくつかの異なる意味で使用されます。

  1. 「ファイルシステム」は/、オペレーティングシステムカーネルによってアプリケーションソフトウェアにルートされ、アプリケーションソフトウェアに提示される、ファイルのシステム全体である場合があります。この意味で、人々は、例えば、「単一のファイルシステムツリー」を持つPOSIXオペレーティングシステムについて話します。
  2. 「ファイルシステム」は、時には1つ(またはそれ以上)であるスライス(複数可)(またはいくつかの)直接アクセス記憶装置(複数可)又はDASD(S)の-隣接ディスクセクタの一つ以上のコレクションは単一としてフォーマットボリューム Aとの特定のフォーマット—いくつかのディスクパーティションスキームによって区切られたもの この意味で、人々は、例えば「私の/usrファイルシステムをフォーマットする」と言っています
  3. 「ファイルシステム」は、ファイルシステムドライバー(VFSレイヤーなど)によってシステムの残りの部分に提示される、ファイルとディレクトリの抽象的な結合可能なツリーである場合があります。この意味で、人々は、たとえば「procファイルシステムをマウントする」と言っています/proc

ウィキペディアの散文は#1を意味しています。これは、オペレーティングシステムの一部であり、オペレーティングシステムで提供され、オペレーティングシステムで実行されるアプリケーションソフトウェアに提供されるオペレーティングシステム固有の抽象化です。

意味#2はオペレーティングシステムの一部ではありません。これは、1つ以上のオペレーティングシステムが理解できるディスク上のデータ構造です。特に、LVMのディスク上のデータ構造は、1つ以上のDASDを1つ以上のボリュームにスライスする方法を提供します。それら自体はオペレーティングシステムの一部ではありません。(しかし、同様に、「LVM」は複数の意味を持っており、それは、それらのドライバとユーティリティを操作することで、ディスクのデータ構造を意味することができな限りオペレーティングシステムでのLVMのドライバとユーティリティを意味することができます。例えば、「私は走っLVMをからレスキューディスク。」)

意味#3は、オペレーティングシステム固有のファイルシステムドライバーによって提供されるオペレーティングシステム固有の抽象化です。ファイルシステムドライバは、実際にはオペレーティングシステムの一部ですが、通常はオペレーティングシステムカーネルとは異なり、別個のものです。


2

ファイルシステムはオペレーティングシステムによって作成、保守、および使用されますが、その表現はオペレーティングシステムとは独立して存在できると結論付ける権利があります。


すべての応答は価値があり、これは主要な要点です。
conner.xyz 2015年

2

「オペレーティングシステム」の正式な定義はありません。「オペレーティングシステム」と「ファイル管理API」が同じであり、OSがコマンドアナライザーを提供する以外に何もできないということを維持するために使用されたものもあります。(結局のところ、これは元々MS-DOSが行ったことのすべてです。)

私は常にDOSが実際のオペレーティングシステムではないことを維持してきました。オペレーティングシステムの仕事はハードウェアを抽象化および仮想化し、ハードウェアリソースを管理することです。DOSは本質的にそれをしませんでした。

ファイルシステムがOSの一部であるか「ストレージデバイス」の一部であるかについては、多くの場合、「ファイルシステム」の意味に大きく依存します。フロッピーディスクやCD上のレイアウトなどの物理的なレイアウトがあり、ファイルシステムの機能があります。これは、ディスク上で無意味なものを取り、返すインテリジェントエンティティ(CPUまたは周辺プロセッサなど)に依存します。意味のあるバイトのシーケンスとして。レイアウトはおそらくいくつかの標準に準拠しているため、たとえば、あるデバイスでCDを録音し、別のデバイスでCDを読み取ったり再生したりできます。問題は、このレイアウトが「ファイルシステム」であるかどうか、または「システム」がレイアウトを読み書きできるほど巧妙なデバイス内にあるかどうかです。

ほとんどのコンピューターコンテキストでは、「ファイルシステム」という用語を使用して、ファイルの読み取り/書き込みを可能にするAPI、およびそれらのAPIを実装する、一部のOSの制御下で動作するCPUと周辺デバイスの組み合わせを指します。この用語は、リムーバブルであろうとなかろうと、通常、メディアの物理フォーマットや個々のメディアを指すものではありません。


興味深い点。
Maxpm

MS-DOSでも、OSはで、MSDOS.SYSコマンドラインシェルはでしたCOMMAND.COM
user1686

1

特定の実装はOSの一部です。抽象的アイデア、仕様、および保存されたデータはそうではありません。


1

ディスクドライブとディスクドライブのようなデバイスは「ダム」です。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は仮想ブロックデバイスにすることができ、それらのカスケードを持つことができます。

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