udev研究

来源:互联网 发布:2017年php饱和了 编辑:程序博客网 时间:2024/05/17 23:45
udev是一种工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在的设备。

通常,传统的linux系统使用的是静态设备文件创建方法,很多设备都会在/dev文件夹下面以文件的形式生成设备文件,而不去考虑真实的设备是否存在或已经连接。这个映射设备文件的机制主要是通过一个称为MAKEDEV的脚本实现,这个脚本通过调用一系列的mknode命令将文件(主设备号及从设备号)映设到相应的文件上。通常,这个过程是在内核启动的过程中,在加载文件系统前完成的,例如在桌面级linux上面就会出现一个start udev的信息,这就是加载过程。
在linux-2.4系列内核中引入了devfs文件系统的概念,这个文件系统就是一套用来管理设备注册删除的机制。后来在linux-2.6系列内核中引入了sysfs文件系统的概念,此文件系统的引入的目地是向用户空间提供一系列的内核信息,在此基础上就诞生了udev设备管理机制,在linux设备系统中,主要包括字符型和块设备两大类,设备加载的方法也分为启动加载和作为模块加载。这样对于udev设备管理,就要能够正确的处理那些hotplug设备,在一个设备连入系统后,在/dev文件夹下面生成设备文件,这里要注意一点,udev是非常依赖于sysfs的,因为udev是一个用户空间程序,它不可能独自从内核中获得更多的信息,因此要通过sysfs机制。
       udev还提供了一类用户可设定的设备访问管理机制,通过/etc/udev/udev.conf文件设置,可以实现。。。
原创粉丝点击