写真 デバイス・ファイルの一覧例
写真 デバイス・ファイルの一覧例
[画像のクリックで拡大表示]

 デバイス・ファイルとは,ハード・ディスクなどの周辺装置(デバイス)を制御する際に用いられる特別なファイルです。

 デバイス・ファイルはすべて,/dev以下に配置されています。/devで,lsコマンドを実行した結果(写真)を見ると,ファイル情報の先頭が「b」または「c」になっています。通常のファイルは「-」,ディレクトリは「d」,シンボリック・リンクは「l」ですから,これらとは別の何か特別なファイルであることは分かります。実際に,デバイス・ファイルは通常のファイルとは異なり,デバイス番号など,ごく少数のデータだけを保持しています。

 プログラムからこれらのファイルに対してopen()などのシステム・コールを用いてアクセスすると,カーネル内に組み込まれたデバイス・ドライバが呼び出され,ファイルの替わりにデバイスにアクセスします。

 アクセスの際,バッファを用いるものをブロック・デバイスと呼び,用いないものをキャラクタ・デバイスと呼びます。ls -alの実行結果で「b」とある「sda1」(SCSI接続のハード・ディスク)などはブロック・デバイス,「c」とある「tty1」(端末)などはキャラクタ・デバイスです。

 ユーザーがコマンド上でデバイス・ファイルを指定する必要がある場面もあります。例えば,フロッピ・ディスクをマウントする場合は,以下のようなコマンドを使います。

$ su
# mount -t ext2 /dev/df0 /mnt/floppy

 ここでは,mount -tの後に,「ファイル・システムの種類」,「デバイス・ファイル名」,「マウント・ポイント」の順に引数を与えています。