内核版本:2.6.10
目标:理解设备模型和sysfs文件系统
1. 初探:
sysfs文件系统的作用:用于将系统中的设备组织成层次结构,并向用户态提供详细的内核数据结构信息。
挂载命令:mount -t sysfs sysfs /sys。
sysfs信息来源:kobject层次结构,也就是linux系统的设备模型。
2. linux设备底层模型
kobject:
每个在内核注册的kobject对象都对应于sysfs文件系统中的一个目录。
kobject是基类;bus, device, driver等是扩展类。
strut kobject {
char *k_name; // 指向设备名称的指针
char name[KOBJ_NAME_LEN]; // 设备名称
struct kref kref; // 对象引用计数;
struct list_head entry; // 从属于kset的所有kobject形成链表,该字段是链表节点;
struct kobject *parent; // 指向父结构;
struct kset *kset; // 所属kset;
struct kobj_type *ktype; // 指向其对象描述符的指针;
struct dentry *dentry; // sysfs文件系统中与该对象对应的文件节点路径的指针;
// 对象上锁ÿ