udev与devfs的区别这里先不谈
udev的设计目标是:
1、在用户空间中执行,区别与devfs在内核空间执行
2、动态建立、删除设备文件
3、允许每个人都不用关心主次设备号
4、提供LSB标准名称
5、如果需要可提供固定的名称
为了提供这些功能,udev分3个步骤走:
1、namedev-->为设备命名子系统
2、libsysfs-->提供访问sysfs文件系统,从中获取信息的标准接口
3、udev--> 提供/dev设备节点文件的动态创建和删除的策略
什么时候来调用udev呢??内核通过什么向用户空间导出设备的主次设备号呢??对于那些使用子系统分配主次设备号的驱动程序,已经由子系统将主次设备号导出到用户空间,但是对于使用cdev_init()普通驱动程序需要怎样修改才能将主次设备号导出到用户空间??导出到用户空间后,udev是怎样运行,并监控到有新设备的热插拔,并为其创建设备节点的呢??