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プリンターで印刷することができる。
再検索