HAL层与设备驱动程序

问题描述 投票:4回答:3

在Linux中,HAL提供硬件抽象,而设备驱动程序也提供硬件抽象。你能否澄清一下两者之间的区别?

linux driver hal
3个回答
3
投票

设备驱动程序与特定缓冲区中的特定设备通信并控制标志块位置。硬件抽象层抽象出特定设备如何工作的细节。例如,USB鼠标的驱动程序与PS2鼠标的驱动程序非常不同,但在HAL层,它们都是鼠标,可以互换处理。


1
投票

主要区别在于它们为抽象提供了什么。 HAL抽象处理器,设备驱动程序抽象不同的设备。所以从某种意义上说,HAL是处理器的“设备”驱动程序或PC中的主板。


1
投票

我会说HAL使用设备驱动程序提供硬件抽象。从某个角度来看,没有驱动程序就没有设备可以工作。 HAL领先一步,为应用程序提供统一(或“更简单”)的API。

您可以绕过HAL并直接与设备驱动程序通信,但是您无法绕过设备驱动程序并直接与硬件通信(这最后一句话通常或多或少都有效,具体取决于操作系统和环境)。

© www.soinside.com 2019 - 2024. All rights reserved.