Android 系统中设备节点的创建

来源:互联网 发布:windows安装器下载 编辑:程序博客网 时间:2024/06/05 03:30
      查了很多资料,有很多人错误地认为是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命令文件

      转载自:kickxxx的专栏