根文件系统中mdev/udev/devfs的区别

来源:互联网 发布:javascript join函数 编辑:程序博客网 时间:2024/06/06 10:46

根文件系统中mdev/udev/devfs的区别

1.  mdev/udev/devfs的区别?

答:mdev是udev的简化版本,是busybox中所带的程序最适合用在嵌入式系统,而udev一般用在PC上的linux中,相对mdev来说要复杂些,devfs是2.4内核引入的,而在2.6内核中却被udev所替代,他们有着共同的优点,只是devfs存在一些未修复的BUG,作者也停止了对他的维护,最显著的一个区别,采用devfs时,当一个并不存在的设备结点时,他却还能自动的加载对应的设备驱动,而udev则不能加载,因为加载浪费了资源。

 dev 和mdev 是两个使用uevent 机制处理热插拔问题的用户空间程序,两者的实现机理不同。udev是基于netlink 机制的,它在系统启动时运行了一个deamon程序udevd,通过监听内核发送的uevent 来执行相应的热拔插动作,包括创建/删除设备节点,加载/卸载驱动模块等等。mdev 是基于uevent_helper 机制的,它在系统启动时修改了内核中的uevnet_helper 变量(通过写/proc/sys/kernel/hotplug),值为“/sbin/mdev”。这样内核产生uevent 时会调用uevent_helper 所指的用户级程序,也就是mdev,来执行相应的热拔插动作。 udev 使用的netlink 机制在有大量uevent 的场合效率高,适合用在PC 机上;

0 0
原创粉丝点击