ldd3读书笔记#1 驱动程序模型
来源:互联网 发布:js让另一个页面刷新 编辑:程序博客网 时间:2024/04/28 10:51
kobejct, kset与kobj_type及其相应的操作,是sysfs文件系统的底层实现细节:它展现的是sysfs的目录结构。
bus是连接CPU与设备的设备,所以一个bus不仅出现在/sys/bus目录下,还要出现在device目录下。bus还维护两人个kset: driver和device,分别对应到总线驱动与设备列表。
device对应到bus,device还会出现在Device树中,device树描述了整个硬件系统的拓朴。device还会与它的driver对应。另外,device还可能会出现在class下面。这其实是说明了device的各种性质:它挂在哪个总线上,它接入电脑的拓朴是什么样的,它的驱动程序是谁,它属于哪种设备。
driver对应到总线,它还可以引用到自身支持的设备。
class是类型描述,实现对于设备缺省功能的支持,属于某一类型的设备都在同一class下。
设备与驱动的匹配:实际是hotplug做的事情。
kobject的hotplug
bus的match/add/hotplug
driver的probe/remove/shutdown
class的hotplug
这里面的有些是实现相关的,有些是kobject体系固定了的。比如,device_register时,会调用到koject的hotplug, 这会依次调用到bus的hotplug,然后会调用到用户态的module load,以加载驱动模块,然后调用到bus的match, bus的match会调用到驱动程序的probe.
加上ldd3上的pci图片作个例子
0 0
- ldd3读书笔记#1 驱动程序模型
- LDD3读书笔记-----Linux 设备模型
- LDD3读书笔记(第11章 高级字符驱动程序操作)
- LDD3读书笔记(第12章 块设备驱动程序)
- LDD3读书笔记(第16章 USB驱动程序)
- LDD3读书笔记(第17章 PCI设备驱动程序)
- LDD3读书笔记(第15章 Linux设备模型)
- [LDD3速记]_PCI驱动程序
- LDD3读书笔记--字符驱动
- LDD3读书笔记----分配内存
- LDD3读书笔记----内存映射
- LDD3读书笔记----中断处理
- LDD3读书笔记----调试技术
- LDD3 scull内存驱动程序改写
- 测试ldd3中的snull驱动程序
- LDD3 USB驱动程序章节笔记
- ldd3-1
- LDD3 读书笔记---设备驱动简介
- xampp 修改端口Apache端口方法
- Maven学习----------基础
- 9.编写长方形类Rect:具有求长方形面积功能;编写类Tube:具有求长方体体积功能(利用Rect属性),在主类Test中用之求长方体的体积。
- 安卓编程规范
- 比特币基础知识原理讲解
- ldd3读书笔记#1 驱动程序模型
- [Java Web]ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别
- jsp元素
- Java中HashMap遍历的两种方式
- VC添加打开文件对话框并读取数据
- 怎样做才能成为程序员高手
- 关于/dev/null及用途
- 设计模式-抽象工厂(Abstract Factory)
- java 中 集合类相关问题