主设备号和次设备号
linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放再/dev目录下,称设备文件。应用程序可以打开,关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。主设备号用来区别不同种类的设备,而次设备号用来区别同一类型的多个设备。对于常用设备,linux有约定编号,如硬盘的主设备号是3.
驱动链表
管理所有设备的驱动链表,对于驱动链表我们一般有两种操作,添加和查找。添加指的是我们在编写完驱动程序代码,加载到内核。 当我们需要用到某种设备的驱动代码,我们就会去驱动链表里面查找。而往驱动链表里面增加节点是通过设备号进行检索的。
驱动的开发也就是将编写好的驱动添加进驱动链表和调用驱动链表里面的驱动。
linux内核结构体的赋值方法: