/sys/class
読み:スラ-シス-スラ-クラス
外語:/sys/class
Linux
の
sysfs
で、クラスで分類されたデバイスへのシンボリックリンクが配置されるディレクトリ。
目次
概要
一覧
Ubuntu
Android 2.3
Androidの場合
Android 4.0
Android 4.3
Android 4.4
概要
sysfsが
/sys
にマウントされている場合、class情報は/sys/classとなる。
/sys/classは、クラスで分類されたデバイスの親子関係をサブディレクトリの構成で表現することを特徴とする。
カーネルでデバイスを登録すると、親子関係を元に/sys/classの適切な位置にシンボリックリンクが配置される。
実際のデバイスは、ハードウェアの変更などにより変化が激しいが、/sys/class以下は普遍的な名前とすることで、仮にハードウェアが変わってもソフトウェアの変更は最小限で済むメリットがある。
一覧
Ubuntu
例えば、あるUbuntu 10.04 (Linuxカーネル2.6.32)では、次のようなディレクトリがある。
/sys/class/backlight
/sys/class/bdi
/sys/class/block
/sys/class/bsg
/sys/class/dma
/sys/class/dmi
/sys/class/firmware
/sys/class/gpio
/sys/class/graphics
/sys/class/hwmon
/sys/class/i2c-adapter
/sys/class/input
/sys/class/mdio_bus
/sys/class/mem
/sys/class/misc
/sys/class/mmc_host
/sys/class/net
/sys/class/pci_bus
/sys/class/pktcdvd
/sys/class/power_supply
/sys/class/ppdev
/sys/class/ppp
/sys/class/printer
/sys/class/regulator
/sys/class/rfkill
/sys/class/rtc
/sys/class/scsi_device
/sys/class/scsi_disk
/sys/class/scsi_generic
/sys/class/scsi_host
/sys/class/sound
/sys/class/spi_host
/sys/class/spi_master
/sys/class/spi_transport
/sys/class/thermal
/sys/class/tty
/sys/class/usbmon
/sys/class/vc
/sys/class/vtconsole
これは一例であり、ハードウェア(とそれを制御するソフトウェア)が異なれば、当然、ここに出て来る名称も異なるものとなる。
Android 2.3
例えば、ある
Android 2.3
(
Gingerbread
)のスマートフォン(Linuxカーネル2.6)では、上に出たほかに、次のようなディレクトリがある(特定機種のみと思われるものを除く)。
/sys/class/adsp
/sys/class/audlpa
/sys/class/bluetooth
/sys/class/compass
/sys/class/cyttsp
/sys/class/diag
/sys/class/fcfd
/sys/class/fcsmd
/sys/class/gemini
/sys/class/i2c-dev
/sys/class/lcd
/sys/class/leds
/sys/class/mread
/sys/class/msm_camera
/sys/class/msm_kgsl
/sys/class/msm_rotator
/sys/class/msm_vidc_dec
/sys/class/msm_vidc_enc
/sys/class/msm_vidc_reg
/sys/class/mtd
/sys/class/oncrpc
/sys/class/pipe
/sys/class/rc
/sys/class/scsi_changer
/sys/class/smdpkt
/sys/class/stschk
/sys/class/switch
/sys/class/timed_output
/sys/class/usb_composite
/sys/class/usb_device
/sys/class/video_output
/sys/class/video4linux
これは一例であり、ハードウェア(とそれを制御するソフトウェア)が異なれば、当然、ここに出て来る名称も異なるものとなる。
Androidの場合
Linuxカーネルを用いているAndroidも、様々なものを /sys/class 以下に追加して使用している。
以下、Android 2.3/Android 4.0/Android 4.3/Android 4.4での変化を追うが、個人での比較調査であるため、記載されたバージョンから新規に追加されたかどうかは定かではない。
より前のバージョンから存在するかもしれないし、より後からのものを先行導入していた可能性もある。
Android 4.0
ある
Android 4.0
(
Ice Cream Sandwich
)のスマートフォンでは、更に、上にはない次のようなディレクトリがある(特定機種のみと思われるものを除く)。
/sys/class/android_usb
/sys/class/bsg
/sys/class/cabc
/sys/class/hsicctl
/sys/class/kgsl
/sys/class/lirc
/sys/class/mercury
/sys/class/msm_sps
/sys/class/qseecom
/sys/class/regulator
/sys/class/ts_ctrl
/sys/class/udc
/sys/class/usbmon
/sys/class/vc
/sys/class/vtconsole
Android 4.3
ある
Android 4.3
(
Jelly Bean
)のスマートフォンでは、更に、上にはない次のようなディレクトリがある(特定機種のみと思われるものを除く)。
/sys/class/ieee80211
Android 4.4
ある
Android 4.4
(
KitKat
)のスマートフォンでは、更に、上にはない次のようなディレクトリがある(特定機種のみと思われるものを除く)。
/sys/class/devfreq
/sys/class/fastrpc
/sys/class/msm-rng
/sys/class/msm_thermal
/sys/class/uio
/sys/class/voice_svc
再検索