sysfs( file system) 是一中 虚拟文件系统 ,挂载在 /sys 目录下。该文件系统不仅可以把 设备(devices) 和 驱动程序(drivers) 的信息从 内核 输出到 用户空间,也可以用来对设备和驱动程序做设置。
介绍
Linux 内核开发团队在 Linux 2.5 的开发过程中引入了 Linux驱动程序模型(Linux driver model) ,以解决2.4核心遭遇的以下问题:
- 没有统一的机制表达驱动程序和设备的关系。
- 不存在一般的热插拔(hotplug)机制。
- procfs文件系统过度混乱,包含了许多不是行程(process)的信息。
sysfs的目的是把一些原本在procfs中的,关于设备的部分,独立出来,以 设备层次结构架构(device tree) 的形式呈现。这个文件系统由 Patrick Mochel 所写,之后 Maneesh Soni 撰写 sysfs backing store path,以降低在大型系统中对存储器的需求量。
sysfs一开始ramfs为基础,也是一个只存在于存储器中的文件系统。ramfs是在2.4核心处于稳定阶段时加入的。ramfs是一个优雅的实做,证明了要在当时仍很新的虚拟文件系统下写一个简单的文件系统是多么容易的一件事。由于ramfs的简洁以及使用了VFS,稍后的一些存储器形式的文件系统都以它作为开发基础。
挂载
mount -t sysfs sysfs /sys