linux – udev和acpi之间有什么区别(d)

他们似乎都在接受&处理内核事件,为什么它们都存在?从我收集的内容来看,与udev相比,ACPI似乎更高级,但除此之外无法说明.

What’s the relation betwen ACPI, udev, HAL and pm-utils有关

解决方法:

ACPI是主板供应商的低级接口,用于提供无法(可靠地)自动检测到操作系统的内置设备的信息.它还提供了对内核进行电源管理和硬件监视的方法. ACPI提供的一个有趣的事情是所谓的ACPI事件.为了创建这些,当内置硬件发生某些事情时,硬件会发出一个特殊的中断(通用事件中断),然后内核调用ACPI代码来确定哪个内置设备发生了什么.如果您想了解整个过程的详细信息,请参阅specification.

acpid是一个守护程序,它侦听内核中ACPI子系统生成的事件,并允许在发生特定事件时运行命令.例如,如果通过ACPI通知按下电源按钮的硬件,则会在“按钮/电源”类中的设备上获得事件.守护进程只能对通过ACPI生成的这些事件做出反应,而不能对例如USB总线.

udev是一个特定于Linux的守护程序,它允许对内核管理的设备树中的更改做出反应.例如,如果插入USB记忆棒,USB控制器会通知内核,并且会在Linux设备树中添加新设备.然后,usb_storage驱动程序检测到新设备是存储设备,并在树中创建子设备节点,允许用户空间像任何其他硬盘驱动器一样处理USB记忆棒.如果将其拔出,则会从树中删除这些设备. udev会收到有关这些添加和删除的通知. udev也可以对某些不是设备添加/删除的事件做出反应,比如打开/关闭CD托盘,但这是其中的大部分内容.您可以运行udevadm monitor –kernel来查看udev实时获取的事件.

你可以说acpid和udev相互补充. udev对于对操作系统知道的任何设备的主要更改做出反应很有用,而acpid对于对某些内置设备中发生的更具体事件做出反应非常有用.

上一篇:Void Linux挂断电源


下一篇:E40-80安装10.14.5 Mojave方式