device file/ja

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Device file and the translation is 70% complete.

Warning: Display title "device file/ja" overrides earlier display title "デバイスファイル".

Other languages:
Resources


デバイスファイルは、通常のファイルと同じようにファイルシステム上に現れる、デバイスドライバに対するインターフェースです。このファイルのおかげで、ソフトウェアはデバイスドライバと相互作用することできます。これらのファイルは/dev ディレクトリ内にあります。

/dev ディレクトリ

多くの Linux ユーザは、/dev/sda1 はカーネルが認識した最初のディスクの最初のパーティションを指す最短の手段だということを知っています。これはとても平易でしょう。

しかし、USB や IEEE 1394、ホットスワップ可能な PCI などのホットプラグ対応デバイスを考えてみてください。最初のデバイスというのはこれらのうちどれのことでしょう? そして、いつまで最初のデバイスといえるのでしょう? 最初のデバイスが消えたとき、他のデバイスは何と名付けられるのでしょうか? それは進行中の処理に影響するでしょうか? 誰かが(たまたま最初のプリンターになっていた)レーザープリンターのプラグを引っこ抜いたというだけの理由で、印刷ジョブが高性能なレーザープリンターからほとんど壊れかけのマトリックスプリンターに突然移ってしまったとしたら、笑ってしまいませんか?

デバイスマネージャに入ってみましょう。( udeveudev のような)今どきのデバイスマネージャならば必ず:

  • ユーザスペースで動作します。
  • 動的にデバイスファイルが生成されたり削除されたりします。
  • 一貫したデバイス命名を行います。
  • ユーザスペースのアプリケーション・プログラム・インターフェイス(API)を提供します。

デバイスの構造に変化が生じるたびにカーネルは uevent を発行し、デバイスマネージャがそれを受け取ります。それから、デバイスマネージャは /etc/udev/rules.d/run/udev/rules.d および /lib/udev/rules.d ディレクトリで定義されたルールに従います。uevent 内に含まれている情報を元に実行する必要があるルール(群)を探し必要なアクションを行います。これらのアクションにはデバイスファイルの作成・削除も含まれており、また特定のファームウェアファイルのカーネルメモリへの読み込みも実行します。

インストール

Gentoo でのデバイスファイルは eudev によって管理され、これは必要なあらゆるファイルのインストールを担っています。

eudev の代替には以下のものがあります:

使い方

作成

それぞれの (内部または周辺機器の) デバイスは、対応するデバイスファイルを持っています。カーネルブート中に、カーネルはデバイスを検出して、仮想 devtmpfs ファイルシステムにデバイスファイルを作成します。その後、eudev がデバイスファイルを奪い、/dev に保管します。それ以降は、eudev が新しいデバイスファイルの作成と利用できなくなったデバイスファイルの削除を担当します。

Information can be obtained by using udevadm:

Get device info using udevadm info followed by the device path.

user $udevadm info -p /devices/pci0000:00/0000:00:1d.7

パーミッション

Like other files, access to device file is restricted by filesystem permissions. The permission to access a device file have to be granted first to a user:

  • Add the user to the group the device file belongs to.

シンボリックリンク

eudev creates for some device classes additional symlinks. The device file /dev/cdrom (first CD-ROM drive) and /dev/dvd (first DVD drive) are just symlinks to the device file /dev/sr0 (first optical drive). You can use the symlinks in programs and config files like every other device file. Other examples are /dev/input for input devices or /dev/disk for storage devices.

External resources