sysfs文件系统主要功能是将系统中所有的设备通过一个拓扑结构全部展示出来,在系统启动的初期,系统通过mount命令将syfs文件系统挂载到/sys节点上,
mount -t sysfs sysfs /sys
通过sys节点将系统中所有的设备展示出来,同时设备的属性等可以通过该文件系统进行交互,所以作用有下面三点:
- 建立系统中总线、驱动、设备三者之间的桥梁
- 像用户空间展示内核中各种设备的拓扑图
- 提供给用户空间对设备获取信息和操作的接口,部分取代ioctl功能。
而kobject是sysfs的基本管理结构,详细使用可以参考之前章节。
整个sysfs系统实现是在linux 2.6中开始引入的,除了上述的特性之外,与之前系统还有一个显著的特点就是支持热插拔。自从2.6开始,内核出现爆炸式增长,而其中很大一部分来源于各种设备在的驱动,随之变得非常臃肿,所以系统在启动后已经不可能将所有的驱动一次性加载进去,为了节省内存等资源需要一种热插拔机制,来实现可以根据当前设备来加载相应驱动程序,而需要加载什么