日期:2014-05-16 浏览次数:20710 次
引言:最近上班特无聊,发发牢骚,特地对内核对象、内核集合进行了了解,写此文章,方便日后一目了然
设备模型构成:①内核对象②内核集合
一:内核对象
定义:内核对象是设备模型中最基本的数据类型,内核对象与sysfs(伪文件系统,通常挂载/sys目录下)文件系统中的目录一一对应,其父子关系对应着目录的层次关系,属性对应着目录中的文件(文件名、以及文件属性)
内核对象的数据类型
structkobject{
constchar*name; //内核对象的名称
structlist_headentry;//把属于同一个集合的多个内核对象组成链表
structkobject*parent;//维护内核对象的父子关系
structkset*kset; //指向所属内核集合
structkobj_type*ktype; //指向一个用于描述内核对象内型的结构体(包括:文件名,文件属性,以及文件的读写)
structkrefkref; //引用计数
unsignedintuevent_suppress:1;//内核用户态事件是否被抑制
//...
};
内核对象的类型
structkobj_type{
void(*release)(struct