両方読んでくださいLinuxでデバイスをマウントすることはどういう意味ですか?そしてオペレーティングシステムの概念として「マウント」を理解してください。、質問がありますが、次のようになります。
アクセス可能なすべてのストレージには、この単一のディレクトリツリーに関連付けられている場所が必要です。これは、最も一般的なファイルパス構文では、ストレージコンポーネント(ドライブ)ごとに1つのディレクトリツリーを持つWindowsとは異なります。マウントは、ストレージデバイスをディレクトリツリーの特定の場所に接続する操作です。
しかし、/dev/cdromの下にはすでにCDROMドライブなどのアクセス可能な場所があり、これは明らかにディレクトリ階層にあります。それでは、/media/cdromの下に別々の「マウントポイント」を作成する必要があるのはなぜですか? /dev/cdromから直接アクセスできないのはなぜですか?デバイスノードファイルは通常のファイルと同じだと聞きました。通常のファイルのように読み書きされます。これは、/dev/cdrom からアクセスすると cdrom のファイルシステムが使用できないことを意味します。ファイルシステム階層(CDROM内)を「マウント」すると「生きていく」?
答え1
/dev/cdromを読み書きすることができます(例:またはdd
使用cat
)。しかし、これはデバイスの生のバイトを読み書きするだけです。これはさまざまな状況(パーティションの複製など)に役立ちますが、通常はデバイスに保存されているディレクトリとファイルを表示したいと思います。
デバイスをマウントすると、基本的にソフトウェア層(ファイルシステムドライバ)を使用して、これらのネイティブバイトを物理ファイルシステムに変換するようにカーネルに指示します。したがって、デバイス接続をインストールしてくださいファイルシステムこのデバイスのディレクトリ階層です。
答え2
私はこれをこう考えます:mount
特定のファイルの内容をディレクトリツリーとして解釈するようにシステムに指示するツールです。
- ファイルシステムにはディレクトリとファイルがあり、各ファイルはいくつかのバイト文字列のラベルです。
/dev/cdrom
CD に格納されたバイト文字列を表すファイルです。- この長い文字列は直接読み取ることができますが、特別な目的(完全なディスクイメージの作成など)を除いて、それほど実用的ではありません。
- この長い文字列には追加の内部構造があります。これには、どのディレクトリとファイルが保存されているか、この非常に長い文字列の場所に関する情報を含むファイルシステムが含まれています。
- を使用すると、
mount -t iso9660 /dev/cdrom /media/cdrom
システムは「この長いバイト文字列をから取得し、/dev/cdrom
それをiso9660形式のディレクトリツリーとして解釈し、その場所からアクセスできるようにします/media/cdrom
」と言います。 - 実際、これは通常のファイルにも当てはまります。ディスクイメージを含む一般的なファイルを作成し、それを使用して
mount
アクセスできます。この試み:
dd if=/dev/zero of=fs-image bs=1M 個数=50 mke2fs fs イメージ sudo install fs-image /some/mount/point
(最初の2つのコマンドは、最初の画像ファイルを準備するときにのみ必要です。)
答え3
/dev/cdrom
おすすめ装備文書。これはいいえオプティカルドライブに挿入されたディスクの内容が必要な場合がありますが、ハードウェアビットへの参照は(そしてソフトウェアドライバも可能)だから電話してみてください。mount
/dev/cdrom
ツリーの特定のパスに移動すると、それを追加します。コンテンツあなたのためファイルシステム。
問題は - 私はこれを行う他の方法を本当に考えることができないということです。 Windowsでも - しかし、そうです。あまり明確ではない- ファイルシステムの抽象化がまだ存在します\\?\volumename\
。それがどのように見えるかを覚えているのに1分かかりました。Googleを試してください。:
...ボリューム名は、単に物理ボリュームデバイス(通常は.)を指すシンボリックリンクです
\Device\HarddiskVolume23
。 MS-DOS デバイスの別の例はドライブ文字です。ボリュームにC:ドライブ文字がある場合は、その形式の物理ボリュームを\\?\C
指す:というシンボリックリンクがあります。\Device\HarddiskVolumeXX
したがって、それほど変わらない可能性があります。そんなに複雑だとは思わないが、ただより明確な、私の思考に。それらは同じシステムではありませんが、基本的に異なっていません。
/dev/device
おそらくとの間の最も重要な違いは、/path/to/its/mount
後者のパスでファイルシステム(組織化された方法でデータを処理するように設計されたいくつかのソフトウェア)が前者の内容を解釈することです。ディスクを読み取ることはできません。誰かがディスクを読んでください。ファイルシステムはデバイスの内容を解釈します。
答え4
上記の項目に加えて、ドライバや他のプログラムはデバイスからデータをキャッシュすることができます。読み取り/書き込みデバイス(ハードドライブやサムドライブなど)では、デバイスに書き込まれたデータがまだ書き込まれていない可能性があります。ジャーナリングファイルシステムは、デバイスが表示されなくなる前にジャーナルをフラッシュする必要がある場合があります。その後、デフォルトのファイルシステムが利用できなくなるタイミングを知る必要があるcryptfsなどの他のファイルシステムをオーバーレイするファイルシステムがあります。
もちろん、読み取り専用デバイスの場合、これはあまり意味がありませんが、それでも適用されます。