sysfs
読み:シス-エフエス
外語:sysfs: system filesystem
Linux 2.6以降で導入された疑似ファイルシステムの一つ。
概要
ユーザープロセスから、デバイスやドライバーなどに関するカーネル情報にアクセスするためのインターフェイスとして提供される、オンメモリーのファイルシステムである。
開発開始当初はddfsと呼ばれ、それがdriverfsとなり、その後sysfsとなり今に至る。
特徴
このファイルシステムでは、実際のデバイスへのシンボリックリンクが置かれるが、それをディレクトリの階層構造として表現するところに特徴がある。
またこのsysfsは、カーネルにLinuxを用いているAndroidでも同様に採用されている。
ネットワークドライバーであるとか、LEDへのアクセスなど、ハードウェアが随時変更になりそうなものでも、後述する/sys/classの下に固定的なパスでデバイスファイルを用意しておき、それを使うようにすれば、ハードウェアが変わってもソフトウェアの変更は最小限で済むメリットがある。
例えば、赤LEDなら/sys/class/leds/red/* として用意しておけば、そのLEDがどのようなハードウェア構成になっていたとしても、同じインターフェイスを用意できる(下は消灯と点灯の例)。
echo 0 > /sys/class/leds/red/brightness
echo 1 > /sys/class/leds/red/brightness
実際には/sys/class/leds/redがシンボリックリンクとなっている。
再検索