/dev
読み:デヴ
外語:/dev: device directory
UNIXやPOSIX準拠OS(Linux等)で、コンピューターに接続されたデバイス(マウスやキーボード、ディスク等)のスペシャルファイルが置かれるディレクトリ。
概要
具体的には、devfsやudevといった疑似ファイルシステムをマウントするためのディレクトリ(マウントポイント)として使われている。
UNIXや、POSIX等UNIX互換OSでは、ルートディレクトリ直下に置かれるdevディレクトリ内に、スペシャルファイルを置く。
スペシャルファイルのファイル名はオペレーティングシステム(OS)ごとにかなり違っている。また同じOSでも、ディストリビューションや版によって変更されていることもある。
なお、Linux 2.6.13以降はdevfsが廃止され、udevのみとなっている。udevでは、仮想ファイルシステムdevtmpfsが /dev にマウントされる。
特徴
主なもの
たいていのUNIXおよびUNIX風OSには、次のようなスペシャルファイルがある。
Linuxでは、次のようなスペシャルファイルもある。
実装
null、zero、randomなどは、直接、何らかのデバイスに対応するものではなく、実体がないものであり、カーネルが仮想的に用意しているものである。
また、標準入出力も直接実体があるわけではなく、実際のデバイスに対するシンボリックリンクになっている。
例えばFreeBSDの場合は、次のようになっている。
- /dev/stdin → /dev/fd/0
- /dev/stdout → /dev/fd/1
- /dev/stderr → /dev/fd/2
Linuxの場合もパスは異なるがシンボリックリンクである。ただし、シンボリックリンクから更にシンボリックリンクとなっていることが多いようである。途中でprocfsを経由させることで入出力を切り替えることも可能にしているようである。
- /dev/stdin → /proc/self/fd/0 → /dev/pts/※
- /dev/stdout → /proc/self/fd/1 → /dev/pts/※
- /dev/stderr → /proc/self/fd/2 → /dev/pts/※
再検索