udev
読み:ユーデヴ
外語:udev: userspace device management

 Linuxにある疑似ファイルシステムの一つ。
目次

概要
 devfsなどに代わるものとして開発され、Linuxカーネル2.6から採用された。
 通常は/devに仮想ファイルシステムdevtmpfsをmountして使う。

特徴

由来
 古典的なUNIXでは、/devにデバイスに対応するスペシャルファイルが置かれた。これにより、様々なデバイスを、あたかもファイルであるかのように扱うことができた。
 やがて、これがdevfsという疑似ファイルシステムへと進化し、扱いやすくはなったが、従来との互換性などの面から、様々な制限があった。
 例えばプリンターであれば、システム発見順に、/dev/lp0、/dev/lp1、…のように順番に名前が付けられる。しかし、これは起動ごとに変わる恐れがあり、常に特定の装置を指し示す能力に乏しい。また、lp0といったような無機質な名前では、どの装置なのか直感的に分かりにくい。udevは、このような問題を解決する。

発想
 例えばUSBのように、ユーザーが自由に抜き差しできる場合、同じ装置でも随時対応する名前が変化してしまうことになる。
 これは非常に煩わしいことであるため、あらかじめ決められたルールに基づいて、常に決まった名前を付けられるようにした。

名前
 名前は、ルールファイルに記述することで定義する。
 各装置は、接続バス(例えばUSB)と、装置を一意に特定するIDの二つの情報で特定できる。この情報に対し、「名前」と「シンボリックリンク」を、それぞれ指定することが出来る。
 例えばHewlett-Packardのプリンターに「lp_hp」と命名したとすると「/dev/lp_hp」が作られることになる。
 更に、/dev/lp_hpへのシンボリックリンクを、例えば「/dev/printers/hp」に作成することが出来る。ディレクトリを作る必要は必ずしも無いが、ディレクトリを指定したなら、このときディレクトリは自動作成される。
 このどちらかにデータを送れば、HPプリンターで印刷することができる。

再検索