使用 /sys 文件系统访问 Linux 内核 sysfs 虚拟文件系统提供了一种比 proc 更为理想的访问内核数据的途径 程 任全 (crquan@gmail
com), Linux 内核开发者、存储开发工程师, UIT(创新科存储技术有限公司) 简介: sysfs 是 Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc 相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用
相比于 proc 文件系统,使用 sysfs 导出内核数据的方式更为统一,并且组织的方式更好,它的设计从 proc 中吸取了很多教训
本文就 sysfs 的挂载点 /sys 目录结构、其与 Linux 统一设备模型的关系、常见属性文件的用法等方面对 sysfs 作入门介绍,并且就内核编程方面,以具体的例子来展示如何添加 sysfs 支持
本文的标签: file_systems, kernel, linux, linux文件系统, 内核 sysfs 的历史,其与 proc 的关系
sysfs 本身并不是一项很新的技术,但笔者发现,虽然 sysfs 从 2003年诞生至今已有 5年,但人们对 sysfs 依然缺乏了解;一个很重要的原因可能是缺乏文档, Linux 内核方面最重要的理论书籍“Linux 设备驱动第 3版”和“理解 Linux 内核第 2版”都诞生于 2003年前后,并且从那以后尚未有再版过,其它一些重要文章则多对 sysfs 与 proc 相提并论且举例常常只有 proc,这导致了 sysfs 的很多重要概念至今仍鲜为人知,因此有必要对 sysfs 作更多介绍,这是写作本文的初衷
sysfs 与 /sys sysfs 文件系统总是被挂载在 /sys 挂载点上
虽然在较早期的 2
6内核系统上并没有