两组接口

sysfs 提供一种机制,使得可以显式的描述内核对象、对象属性及对象间关系。sysfs 有两组接口,一组针对内核,用于将设备映射到文件系统中,另一组针对用户程序,用于读取或操作这些设备。

用户空间表现

下图描述了内核中的 sysfs 要素及其在用户空间的表现:

在这里插入图片描述

内核空间<==>用户空间

sysfs 在内核中的组成要素 在用户空间的显示
内核对象(kobject) 目录
对象属性(attribute) 文件
对象关系(relationship) 链接(Symbolic Link)

devices 目录是一切,其它目录都是浮云

Linux 系统中所有的设备都可以在 /sys/devices 目录中找到,那为什么 /sys 下面还有很多诸如 block、dev、bus 的目录呢?目的是给用户提供不同的视角去查找设备,这些目录下的文件都是 devices 目录下设备文件的符号链接。

参考

通过sysfs清楚了解设备的系统状况

Linux设备模型——设备驱动模型和sysfs文件系统解读