linux内核之mdev机制和udev机制的区别

1.定义、概念解释

  • udev 是一个用户空间的守护进程,它通过监听内核空间的设备事件来动态管理设备节点。udev 能够读取配置文件,执行复杂的规则和脚本,支持热插拔,并且与系统服务紧密集成。
  • mdev 是一个早期用户空间的设备管理器,设计用于在系统启动时快速设置设备节点。它通常配置较为简单,执行速度较快,但功能和灵活性不如 udev

2.工作机制

  • mdev使用uevent_helper机制,通过修改/proc/sys/kernel/hotplug来指定当内核产生uevent时调用的程序,通常是/sbin/mdev
  • udev使用基于netlink的机制,运行一个守护进程udevd,监听内核发送的uevent来执行相应的热插拔动作。

3.配置方式

  • mdev的配置文件是/etc/mdev.conf,可以设置设备节点的所有者、权限以及执行自定义命令。
  • udev的配置文件是/etc/udev/udev.conf,并且使用/etc/udev/rules.d/目录下的规则文件来定义设备的命名、权限等属性。

4.适用环境

  • mdev由于其简单性,适合用于资源受限的嵌入式系统。
  • udev由于其强大的功能和灵活性,适用于需要复杂设备管理的PC和服务器系统。

5.性能和效率

  • mdev实现简单,适合用在嵌入式系统中,而udev使用的netlink机制在有大量uevent的场合效率高,适合用在PC机上。

6.启动和初始化

  • mdev在系统启动时通过执行mdev -s扫描/sys/class/sys/block,在目录中查找dev文件,并根据找到的信息创建设备节点。
  • udev在系统启动时通过udevd守护进程来管理设备节点,处理设备的添加和移除事件

7.步骤流程方法

7.1 udev 的工作流程:

  • 内核检测到设备变化,如USB设备插入。
  • 内核发送udev事件到用户空间。
  • udev 监听事件,读取udev规则文件(/etc/udev/rules.d/ 和 /lib/udev/rules.d/)。
  • udev 根据规则匹配事件,执行相应的操作,如创建符号链接、修改权限、运行自定义脚本等。
  • udev 可以与D-Bus通信,触发系统服务响应设备事件。

7.2 mdev 的工作流程:

  • 在系统启动时,mdev 被配置为监听设备变化。
  • 当内核检测到设备变化时,它触发 mdev
  • mdev 读取配置文件(/etc/mdev.conf)和脚本(/usr/lib/mdev/),这些脚本定义了设备节点的创建和属性设置。
  • mdev 快速创建设备节点,但不支持复杂的规则和脚本。

8.总结

总的来说,使用 udev,你可以得到一个更加灵活和强大的设备管理机制,它支持复杂的规则和脚本,可以更好地控制设备的识别和资源分配。使用 mdev,你可以在系统启动时快速设置设备,这对于需要快速启动的系统来说是一个优势。

相关文章推荐:

udev和mdev hotplug-腾讯云开发者社区-腾讯云

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜航一直在

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值