网上对sys文件系统与kobject的文章很多,但对初学者的我越看越乱。几经辗转总结出如下结论,如有误恳请讨论指出,直接给出:
1,kobject,kset对应sysfs里面的文件夹,目录的名字就是结构体中的 name
2,kobj_type对应sysfs里面的文件,这些文件是kobject的属性的外在表现
3,kobject是linux设备树的核心结构体,整个设备树都是围绕kobject建立起来的,维系这种树关系的是kobject结构体里面的parent指针。parent指针指向本节点的父节点,赋值为null时该节点直接出现在/sys/根目录下。
4,kset结构体中包含一个kobject结构体,在分析sysfs中目录与kobject的对应关系时,可认为kobject与kset等同。
5,kset比kobject多一个list双向链表,可以按设备类型关系将其下的节点加入链表。但这种关系在sysfs中的目录结构中不显现。
6,kobject中包含一个kobj_tpye指针,kobj_type中的default_attrs即为是该kobject的各项属性。属性必须存在于kobject之下,不能直接出现在/sys根目录。
kobject,kset,kobj_tpye的定义
1,kobject,kset对应sysfs里面的文件夹,目录的名字就是结构体中的 name
2,kobj_type对应sysfs里面的文件,这些文件是kobject的属性的外在表现
3,kobject是linux设备树的核心结构体,整个设备树都是围绕kobject建立起来的,维系这种树关系的是kobject结构体里面的parent指针。parent指针指向本节点的父节点,赋值为null时该节点直接出现在/sys/根目录下。
4,kset结构体中包含一个kobject结构体,在分析sysfs中目录与kobject的对应关系时,可认为kobject与kset等同。
5,kset比kobject多一个list双向链表,可以按设备类型关系将其下的节点加入链表。但这种关系在sysfs中的目录结构中不显现。
6,kobject中包含一个kobj_tpye指针,kobj_type中的default_attrs即为是该kobject的各项属性。属性必须存在于kobject之下,不能直接出现在/sys根目录。
kobject,kset,kobj_tpye的定义