本文目录
一、知识点
1. 热插拔概念
热插拔就是带电插拔,用人话讲就是允许用户在不关闭系统,不切断电源的情况下拆卸或安装硬盘,板卡等设备。热插拔是内核和用户空间之间,通过调用用户空间程序实现交互来实现的。当内核发生了某种热拔插事件时,内核就会调用用户空间的程序来实现交互。
2. 热插拔机制
热插拔机制有devfs、udev、mdev。其中devfs已经不再使用。嵌入式设备上一般使用mdev,X86上一般用udev,当然嵌入式设备上也可以用udev。与 udev 不同,mdev 的设计更加简洁,是udev的简化版本。
(1) udev
是基于Netlink 机制实现的。 工作原理如下:
① 当有设备插入或移除时,内核会生成一个 uevent 事件。
② 内核通过 Netlink 套接字将 uevent 事件发送给用户空间。
③用户空间的 udev 守护进