3.9. デバイスとデバイスノード

デバイスとはシステム上のハードウェアに関するものに対してよく使われる用語で、 ディスクやプリンタ、グラフィックカードやキーボードが含まれます。 FreeBSD が起動するとき、FreeBSD が表示しているものの大部分は検出されたデバイスです。 /var/run/dmesg.boot を眺めれば起動メッセージを読み直すことができます。

例えば、acd0 は最初の IDE CDROM ドライブで、kbd0 はキーボードを表します。

Unix オペレーティングシステムにおけるデバイスのほとんどは、 デバイスノードと呼ばれる /dev ディレクトリにあるスペシャルファイルを通してアクセスしなければなりません。

3.9.1. デバイスノードを作成する

新しいデバイスをシステムにつけ足したり、 追加デバイスのサポートをコンパイルして加えたりするときは、 デバイスノードを追加で作成しなければならない場合があります。

3.9.1.1. MAKEDEV スクリプト

DEVFS がないシステム (5.0 より前の全 てのバージョンの FreeBSD にあてはまります) では、 以下に示すように MAKEDEV(8) スクリプトを使ってデバイスノードを作成します。

# cd /dev
# sh MAKEDEV ad1
   

この例では、取りつけられたとき2番目に当たる IDE ドライブにとって適切なデバイスノードを作ります。

3.9.1.2. DEVFS (デバイスファイルシステム: Device File System)

デバイスファイルシステム DEVFS は、 グローバルファイルシステム名前空間の中のカーネルデバイス名前空間へのアクセスを提供します。 デバイスノードを作成したり変更したりするのではなく、 DEVFS がこの特別なファイルシステムを管理するのです。

詳しくは devfs(5) マニュアルページをご覧ください。

FreeBSD 5.0 では DEVFS がデフォルトで使われています。