デバイスファイル
デバイスファイルはデバイス(ハードウェア)をファイルとして表現したものです。
アプリケーション(ユーザー空間)とデバイスドライバ(カーネル空間)間でデータを送受信するためには、両者を結びつける「何か」が必要です。
その「何か」がデバイスファイルです。
デバイスファイルは通常、「/dev」配下に保存されており、原則ひとつのデバイスに対して、ひとつのデバイスファイルが存在します。
例えば、「/dev/hda」ファイルは1台目のIDE(ATA)ハードディスクを表しています。
「表している」とはつまり、ソフトウェア(ユーザー空間)から見れば、「/dev/hda」がIDEハードディスクあると見えるわけです。
そしてこのファイルを操作することは、IDEハードディスクを操作するということに対応します。
デバイスファイルには下記の種別が存在します。
・ブロック型デバイス(block)
・キャラクタ型デバイス(character, unbuffered)
・名前付きパイプ(pipe)
ハードディスクやUSBメモリはブロック型デバイス、プリンタやモデムはキャラクタ型デバイスに該当します。
名前付きパイプはプロセス間通信を行う際に使用するデバイスファイルです。