マウントとは、コンピュータのオペレーティングシステムがストレージデバイス(ハードドライブ、CD-ROM、ネットワーク共有など)上のファイルやディレクトリを、コンピュータのファイルシステムを介してユーザーがアクセスできるようにするプロセスです。[ 1 ]
一般的に、マウントのプロセスは、オペレーティングシステムがストレージメディアへのアクセス権を取得し、その上のファイルシステム構造とメタデータを認識、読み取り、処理してから、仮想ファイルシステム(VFS)コンポーネントに登録することから構成される。
新しくマウントされたメディアが登録されたVFS内の場所はマウントポイントと呼ばれます。マウント処理が完了すると、ユーザーはその場所からメディア上のファイルやディレクトリにアクセスできるようになります。
マウントとは逆のプロセスはアンマウントと呼ばれ、オペレーティングシステムはマウントポイント上のファイルやディレクトリへのユーザーアクセスをすべて遮断し、残りのユーザーデータのキューをストレージデバイスに書き込み、ファイルシステムのメタデータを更新した後、デバイスへのアクセスを解放して、ストレージデバイスを安全に取り外せるようにします。
通常、コンピュータのシャットダウン時には、マウントされているすべてのストレージデバイスに対してアンマウント処理が実行され、キューに格納されていたすべてのデータが書き込まれたことを確認し、メディア上のファイルシステム構造の整合性を維持します。
マウントポイントは、ルートファイルシステムとして使用されるパーティション内の場所です。磁気、光磁気、光、半導体(ソリッドステート)ドライブなど、さまざまな種類のストレージが存在します。これらのストレージを使用する前に、情報の読み書き方法を整理し、その情報がオペレーティングシステムに利用可能である必要があります。この整理方法をファイルシステムと呼びます。各ファイルシステムは、ホストオペレーティングシステムにメタデータを提供し、データの読み書き方法を認識させます。メディア(RAIDアレイのようにボリュームファイルシステムの場合は、複数のメディア)がマウントされると、オペレーティングシステムはこれらのメタデータを読み取り、ストレージを使用できるようになります。[ 2 ] [ 3 ]
Unix系オペレーティングシステムには、マウントプロセスを支援し、新たな機能を提供するソフトウェアやツールがしばしば含まれています。これらの戦略の中には、その目的を反映して「自動マウント」と呼ばれるものもあります。
多くの場合、ルート以外のファイルシステムは、オペレーティングシステムの起動後すぐに利用できる必要があります。そのため、すべてのUnix系システムは、起動時にファイルシステムをマウントする機能を提供しています。システム管理者は、これらのファイルシステムを構成ファイルfstab(Solarisではvfstab)で定義し、オプションとマウントポイントも指定します。場合によっては、特定のファイルシステムを起動時にマウントする必要はありませんが、その後で使用したい場合もあります。Unix系システムには、定義済みのファイルシステムを必要に応じてマウントできるユーティリティがいくつかあります。
マイクロコンピュータプラットフォームでは、リムーバブルメディアが非常に一般的になっています。これにより、物理的な接続なしにプログラムやデータをマシン間で転送できます。一般的な例としては、 USBマスストレージ(フラッシュドライブ)、メモリーカード、CD-ROM、DVDなどがあります。そのため、メディアの存在と利用可能性を検出し、ユーザーの操作なしにそのメディアをマウントするユーティリティが開発されています。
Unix ライクなシステムの中には、Linux の supermount-ng プロジェクトで実装されているスーパーマウントと呼ばれる概念を導入しているものもあります。 [ 4 ]例えば、スーパーマウントされたフロッピー ディスクは、システムから物理的に取り外すことができます。通常の場合、ディスクは取り外す前に同期され、その後アンマウントされている必要があります。同期が行われていれば、別のディスクをドライブに挿入できます。システムはディスクが変更されたことを自動的に検知し、マウント ポイントの内容を更新して新しいメディアを反映させます。同様の機能は Windows マシンにも見られます。
オートマウンターは、マウントすべきディレクトリへの参照が示されると、ファイルシステムを自動的にマウントします。これは通常、ネットワークサーバー上のファイルシステムで使用され、リムーバブルメディアの場合のようにメディアの挿入などのイベントに依存することはありません。