【转载】https://blog.csdn.net/skyflying2012/article/details/11783847
文章思路:
1、sys目录的组成:
block/ bus/ class/ devices/ firmware/ kernel/ module/ power/
2、揭露本质:kobject
1、一对一于目录,实现引用计数和层次结构管理
2、每个object是kobject类的实例化(devices & drivers be include)
3、kobject的管理者:kset
1、桥梁 of subsystem & kobject
2、集合关系类:data_struct 独立记录各自的parent & son
3、维护kobject的子系统业务
4、kset的管理者:subsystem
1、新版本合并了kset & kobject
5、bus & bus_type:
key words
1、每 个bus_type对象都内嵌一个subsystem对象:eg:PCI 作为bus_type类型的对象子,同时由subsystem对象管理
2、bus_subsys对象管理系统中所有总线类型的subsystem对象:bus_subsys管理PCI、IIC、SPI、USB等等
6、bus & device & driver
一、彼此关系:
1、设备和驱动挂在总线上: device记录所在bus和所属driver的device_list
driver记录总线类型bus_type
2、
二、常见事务:
device:
1、我叫啥、我爹是谁,son是谁、brather是谁、什么总线、总线号是啥,谁驱动我、一系列ops
driver:
1、我叫啥、我管理哪些device、什么总线、设备是否归我管、一系列ops等
7、文件系统到sysfs:
基本知识
1、VFS:对不同fs的抽象,为应用层提供统一的接口,实际是对kobjects的操作
2、这些接口有file & dentry & inode & sysfs & sper_blk这些类对象的操作方法
描述实体:
3、文件描述实体:dnetry(反映父子目录关系) & inode(反映目录存储介质和位置分布(ls -l))
4、文件系统的描述体:super_block