Android 系统中设备节点的创建

    技术2022-05-19  27

    查了很多资料,有很多人错误地认为是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命令文件

     

     

     

     

     


    最新回复(0)