设为首页 加入收藏

TOP

Linux设备模型分析之基本数据结构
2014-11-24 08:22:38 来源: 作者: 【 】 浏览:1
Tags:Linux 设备 模型 分析 基本 数据结构

Linux随着硬件设备的发展及内核版本的演进,设备模型也变得越来月复杂,早先看了《Linux设备驱动程序》觉得一头雾水,又看了许多资料和高手的帖子,总算有了一定认识,下面写出来和Linux内核爱好者分享一下。


本文相配套的《Linux设备驱动程序》下载在http://www.linuxidc.net/thread-2029-1-1.html 共3卷,17M。


一、底层数据结构:kobject 和 kset


1、kobject内核对象:Linux2.6设备模型的最底层核心结构,该数据结构使所有设备在底层都具有统一的接口,每一个在内核中注册的kobject对象都对应于sysfs文件系统中的一个目录。Kobject在内核中对应有一套申请,初始化,添加,注册,计数操作,释放等函数。


2、 kset内核对象集合:具有相同类型的kobject的集合。


3、 subsystem内核对象子系统:一系列kset的集合,描述了某一类子系统,如block_subsys表示所有的块设备,对应于susfs文件系统中的block目录。device_subsys对应于sysfs中的devices目录,描述系统中的所有的设备,说直白了其实也是kset,kset的类型由内嵌的ktype结构描述。


由此可以看出,kobject类似于面向对象程序设计中的基类,经过层层继承封装来实现上层的设备驱动模型。




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux设备模型之platform_device.. 下一篇Linux:主设备号和次设备号

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)