udev

udev 是Linux kernel 2.6系列的设备管理器。它主要的功能是管理/dev目录底下的设备节点。它同时也是用来接替devfs及热插拔的功能,这意味着它要在添加/删除硬件时处理/dev目录以及所有用户空间的行为,包括加载固件时Linux 2.6.13内核。udev的最新版本依赖于升级后的的uevent接口的最新版本。使用新版本udev的系统不能在2.6.13以下版本启动,除非使用noudev参数来禁用udev并使用传统的/dev来进行设备读取。

早前的Linux操作系统还不成熟,管理设备结点的工作一点都不好玩。所有需要的结点都不得不在/dev目录下静态创建。该问题实际起源于原始的Unix系统。在2.4内核中,引入了devfs,它支持设备结点的动态创建。devfs提供了内存内的文件系统中创建设备结点的能力,而命名结点的任务还是落在了设备驱动程序头上。但是,设备命名策略是可管理的,不应该和内核混在一起。策略可位于头文件、模块参数或者用户空间中。而udev则将设备管理的任务推向了用户空间。

下面是一些讲解udev的文章,因为目前接触的android平台,而android平台没有udev而是自己实现了VOLD。所以暂时不做深入讨论。不论udev还是VOLD都是依赖sysfs的,而sysfs是2.6之后才引入的机制。

LINUX下 Udev详解

http://www.cnblogs.com/cslunatic/p/3171837.html

udev配置文件理解

https://blog.csdn.net/linuxmake/article/details/8826036

5分钟理解udev

https://blog.csdn.net/woyimibayi/article/details/78320915

猜你喜欢

转载自blog.csdn.net/weixin_39821531/article/details/88342953