查了很多资料,有很多人错误地认为是kernel创建的/dev/yourdevice
在最近的kernel中这种说法是不对的, 其实是kernel仅负责在/sys/创建一大堆下目录和文件,
而真正的设备节点是在用户空间创建的。
在Android系统中,由init进程负责处理这种uevent事件,如果是"add" device事件, init会在/dev/下创建相应的节点
具体代码可查看 system/core/init/devices.c: handle_device_event->make_device
节点的用户,组,权限都可以在devperms中定制。
对于linux系统,我想应该是udev实现的吧
对于非android系统,应该是mdev
其实到底谁来处理,关键看kernel发送uevent事件,应用层通过什么方式处理的,是侦听socket还是通过设置
/proc/sys/kernel/hotplug命令文件