主题: udev设备文件系统(2.6内核引入的文件系统,代替了2.4的devfs文件系统)
udev与devfs的区别:
尽管devfs有这样和那样的优点,但是,在linux2.6内核中,devfs被认为是过时的方法,并最终被抛弃,
udev取代了devfs称为了新的内核文件系统。

linux VFS内核维护者AIViro指出了udev取代devfs的几点原因::
1》devfs所做的工作被确信可以在用户态来完成。
2》一些bug相当长的时间内没有被修复。
3》devfs的维护者和工作者停止了对代码的维护工作。

    udev完全在用户态工作,利用“设备加入”或“移除时”内核所发送的“热插拔事件(hotplug event)”
来工作。在热插拔时,设备的详细信息会由内核输出到位于/sys的sysfs文件系统。
    udev的“设备命名策略”、“权限控制”和“事件处理”都是在用户态下完成的,它利用“sysfs中的信息来进行
创建设备文件节点”等工作。
     由于udev根据“系统中硬件设备的状态动态更新设备文件,进行设备文件的创建和删除等,因此,在使用udev后,
/dev目录下就会只包含系统中真正存在的设备了”


devfs与udev的另一个显著区别在于:采用devfs,当一个并不存在的/dev节点被打开的时候,devfs能自动加载对应的
驱动,而udev并没有这样做,这是因为udev的设计者认为linux应该在设备被发现的时候自动加载模块驱动模块,而不是
等到它被访问时。udev的设计者同样认为系统中的设备都应该产生热插拔事件并加载恰当的驱动,并且udev能注意到这点
并且为设备创建对应的设备节点。

posted on 2013-02-17 20:31  爱哎唉  阅读(416)  评论(0)    收藏  举报