字符设备驱动学习笔记

udev设备文件系统:

1、udev工作过程:

(1)当内核检测到在系统中出现了新设备后,内核会在sysfs文件系统中为该新设备生产新的记录并导出一些设备特定的信息及所发生的事件。

(2)udev获取内核导出的信息,它调用namedev(设备命名子系统)决定应该给该设备指定的名称,如果是新插入设备,udev将调用libsysfs(提供访问sysfs文件系统从中获取信息的标准接口)决定应该为该设备的设备文件指定的主/次设备号,并用分析获得的设备名称和主/次设备号创建/dev中的设备文件;如果是设备移除,则之前已经被创建的/dev文件将被删除。

2、namedev中使用5步序列来决定指定设备的命名:

(1)标签(label)/序号(serial):这一步检测设备是否有唯一的识别记号,例如USB设备有唯一的USB序号,SCSI有唯一的UUID。

(2)设备总线号:这一步检查总线设备编号,对于不可热拔插的环境,这一步足以辨别设备。

(3)总线上的拓扑:当设备在总线上的位置匹配用户指定规则时,就会使用该规则的指定名称。

(4)替换名称:当内核提供的名称匹配指定的替代字符串时,就会使用替代字符串指定的名称。

(5)内核提供的名称。

原文地址:https://www.cnblogs.com/zhou2011/p/2994204.html