仮想ファイルシステムは、特殊なカーネル情報と機能へのアクセスを提供するメモリーベースのファイルシステムです。ほとんどの仮想ファイルシステムは、ディスク領域を使用しません。ただし、キャッシュファイルシステムは、ディスク上のファイルシステムを使用してキャッシュに入れ、一時ファイルシステムなどの仮想ファイルシステムは、ディスク上のスワップ空間を使用します。
キャッシュファイルシステム (CacheFS) を使用すると、リモートファイルシステムや、CD-ROM ドライブのような低速デバイスの性能を改善できます。ファイルシステムをキャッシュすると、リモートファイルシステムや CD-ROM から読み込まれたデータは、ローカルシステム上のキャッシュに格納されます。キャッシュファイルシステムの設定と管理については、第 29 章「キャッシュファイルシステムの手順」を参照してください。
一時ファイルシステム (TMPFS) は、ファイルシステムの読み取りと書き込みにローカルメモリーを使用します。一般に、UFS ファイルシステム内のファイルよりも、TMPFS ファイルシステム内のファイルにアクセスする方が高速です。ファイルシステムのマウントが解除されるときと、システムがシャットダウンまたはリブートされるときに、一時ファイルシステムが削除されます。
TMPFS は、Solaris システムソフトウェア内の /tmp ディレクトリのデフォルトのファイルシステムです。UFS /tmp ファイルシステムの場合と同様に、/tmp ディレクトリとの間でファイルをコピーまたは移動できます。
TMPFS ファイルシステムを使用すると、一時ファイルをローカルディスクに読み書きしたり、ネットワーク上で読み書きしたりする際のコストを節約でき、システム性能を改善できます。たとえば、プログラムをコンパイルすると一時ファイルが作成されます。オペレーティングシステムは、これらのファイルを処理する間に大量のディスク処理やネットワーク処理を行います。TMPFS を使用してこれらの一時ファイルを格納すると、その作成、処理、または削除が大幅に高速になります。
TMPFS ファイルシステムは、一時的な格納場所としてスワップ空間を使用します。TMPFS ファイルシステムがマウントされたシステムのスワップ空間が足りないと、次の 2 つの問題が発生する可能性があります。
TMPFS ファイルシステムは、通常のファイルシステムがいっぱいになった場合と同様に容量不足になる可能性がある。
TMPFS はスワップ空間を割り当ててファイルのデータを保存するので (必要な場合)、一部のプログラムはスワップ空間不足のために実行できなくなる。
TMPFS ファイルシステムの作成方法については、第 27 章「ファイルシステムの作成手順」を参照してください。スワップ空間を拡張する方法については、第 30 章「スワップ空間の追加構成の手順」を参照してください。
ループバックファイルシステム (LOFS) を使用すると、代替パス名を使用してファイルにアクセスできるように、新しい仮想ファイルシステムを作成できます。たとえば、/ のループバックマウントを /tmp/newroot 上で作成できます。ファイルシステム階層全体が、NFS サーバーからマウントされるファイルシステムを含め、/tmp/newroot 上に複写されたように見えます。どのファイルにも、/ で始まるパス名または /tmp/newroot で始まるパス名を使用してアクセスできます。
LOFS ファイルシステムの作成方法については、第 27 章「ファイルシステムの作成手順」を参照してください。
プロセスファイルシステム (PROCFS) はメモリー内にあります。PROCFS の /proc ディレクトリには、有効なプロセスのプロセス番号別リストが入っています。/proc ディレクトリ内の内容は、ps などのコマンドに使用されます。デバッガや他の開発ツールも、ファイルシステムコールを使用して、プロセスのアドレス空間にアクセスできます。次の例は、/proc ディレクトリの内容の一部を表示したものです。
$ ls -l /proc total 144944 -rw------- 1 root root 0 Dec 19 15:45 00000 -rw------- 1 root root 196608 Dec 19 15:45 00001 -rw------- 1 root root 0 Dec 19 15:45 00002 -rw------- 1 root root 1028096 Dec 19 15:46 00073 -rw------- 1 root root 1445888 Dec 19 15:46 00091 -rw------- 1 root root 1142784 Dec 19 15:46 00093 -rw------- 1 root root 1142784 Dec 19 15:46 00095 -rw------- 1 ignatz staff 1576960 Dec 19 15:50 00226 -rw------- 1 ignatz staff 192512 Dec 19 15:51 00236 -rw------- 1 ignatz staff 1269760 Dec 19 15:52 00240 -rw------- 1 ignatz staff 6090752 Dec 19 15:52 00241 -rw------- 1 ignatz staff 188416 Dec 19 15:52 00247 -rw------- 1 ignatz staff 2744320 Dec 19 15:52 00256
/proc ディレクトリ内のファイルは削除しないでください。/proc ディレクトリからプロセスを削除するのは、最善の方法ではありません。/proc ファイルはディスク容量を消費しないため、このディレクトリからファイルを削除してもあまり意味がないので注意してください。
/proc ディレクトリには、システム管理は不要です。
次のタイプの仮想ファイルシステムは、参考のために掲載してあります。管理は不要です。