質問のタイトルは次のように尋ねています:なぜLinuxにマウントする必要があるのですか?
この質問を解釈する1つの方法:なぜmount
ファイルシステムをLinuxで使用可能にするために明示的なコマンドを発行する必要があるのですか?
答え:ありません。
ファイルシステムを明示的にマウントする必要はありません。自動的に実行されるように調整できます。Linuxディストリビューションは、WindowsやMacと同様に、ほとんどのデバイスで既にこれを実行しています。
だから、おそらくあなたが尋ねることを意図したものではありません。
第二の解釈:なぜ明示的なコマンドを発行してLinuxでファイルシステムを使用可能にする必要があるのmount
ですか? オペレーティングシステムに常にそれを行わせて、ユーザーから隠さないようにしましょう。
あなたが尋ねるとき、これは私が質問テキストで読んでいる質問です:
マウントを完全にスキップして、次のことを実行してください。
ls /dev/cdrom
CD-ROMの内容はリストされていますか?
おそらく、あなたが意味するのは、なぜそのコマンドに何をさせるだけではないのですか?
ls /media/cdrom
今ですか?
その場合、/dev/cdrom
デバイスファイルではなくディレクトリツリーになります。あなたの本当の質問は、どうしてデバイスファイルをそもそも持っているのでしょうか?
既に与えられているものに答えを追加したいと思います。
ユーザーがデバイスファイルを表示するのはなぜですか?
CD-ROM、またはファイルを保存する他のデバイスを使用するときはいつでも、CD-ROMにあるものをファイルのディレクトリツリーとして解釈するソフトウェアが使用されます。ls
CD-ROM上のファイルにアクセスする他のコマンドまたはアプリケーションを使用するたびに呼び出されます。そのソフトウェアは、CD-ROMにファイルを書き込むために使用される特定のファイルシステム用のファイルシステムドライバーです。ファイルシステム上のファイルを一覧表示、読み取り、または書き込みするときはいつでも、問題のデバイスで対応する低レベルの読み取りおよび書き込み操作が実行されることを確認するのは、そのソフトウェアの仕事です。あなたmount
がファイルシステムであるときはいつでも、どのファイルシステムドライバをデバイスに使用するかをシステムに伝えています。これを明示的に行うかどうかmount
コマンドを実行するか、OSに任せて自動的に実行するか、実行する必要があります。もちろん、最初にファイルシステムドライバーソフトウェアが存在する必要があります。
ファイルシステムドライバーはどのように機能しますか?答え:デバイスファイルの読み取りと書き込みによって実行します。どうして?答えは、すでに述べたように、Unixはこのように設計されています。Unixでは、デバイスファイルはデバイスの一般的な低レベルの抽象化です。特定のデバイスの実際のデバイス固有のソフトウェア(デバイスドライバー)は、デバイスファイルの操作として、デバイスのオープン、クローズ、読み取り、書き込みを実装することになっています。このように、高レベルのソフトウェア(ファイルシステムドライバーなど)は、個々のデバイスの内部動作についてそれほど知る必要はありません。低レベルのデバイスドライバーとファイルシステムドライバーは、相互に接続するための共通の方法に同意する限り、異なるユーザーが別々に作成できます。それがデバイスファイルの目的です。
そのため、ファイルシステムドライバーにはデバイスファイルが必要です。
しかし、通常のユーザーがデバイスファイルを見ることができるのはなぜですか?答えは、Unixはオペレーティングシステムプログラマが使用するように設計されていることです。ユーザーがデバイスドライバーとファイルシステムドライバーを作成できるように設計されています。それは実際に彼らが書かれた方法です。
Linuxでも同じことが言えます。独自のファイルシステムドライバー(またはデバイスドライバー)を作成し、インストールしてから使用できます。Linux(または他のUnixのバリアント)を簡単に拡張可能にします(実際、Linuxが開始された理由です):新しいハードウェアが市場に登場したとき、またはファイルシステムを実装するための新しいスマートな方法が設計されたとき、誰かがそれをサポートするコードを書いて、それを動作させ、Linuxに貢献することができます。
デバイスファイルはこれを簡単にします。