
很多人刚开始学习Linux驱动时,会先照着示例编写probe、remove以及各种操作函数。
代码可能已经能够加载,设备也可以正常工作,但一旦继续阅读内核源码,就容易被Bus、Device、Driver、Class和kobject等对象绕进去。
出现这种情况,通常不是某个函数没有记住,而是还没有弄清Linux驱动模型的整体关系。
把整个过程串起来以后,Linux驱动模型可以先从五条主线理解:







设备和驱动分别以什么对象存在,双方按照什么规则匹配,匹配后怎样完成绑定,设备从注册到移除经历怎样的生命周期,以及驱动最终通过什么接口与用户态交互。
理解这些关系以后,再阅读驱动源码时,就不只是寻找probe和remove函数,而是在观察设备如何被发现、驱动如何注册、资源如何管理,以及内核怎样把硬件能力逐步提供给用户程序。#信息安全#网络工程师#网络安全#网络畅通无阻#信息化时代#计算机#路由器#互联网#网络#计算机专业