干杯...
我知道它代表硬件抽象层,但它究竟是做什么的?它是否设计用于VB等高级语言与硬件进行通信?那些IN/OUT指令如何调用HAL例程或者是否通过I/O管理器直接与硬件的设备驱动程序通信?
提前致谢
我知道它代表硬件抽象层,但它究竟是做什么的?
它本质上是NT内核的"非可移植"部分,作为一个单独的模块提供,以便NT可以移植到多个处理器体系结构.示例:中断路由.
它是否设计用于VB等高级语言与硬件进行通信?
不.它意味着NT内核的支持例程.如果您在用户模式下进行编码(就像在VB等高级语言中那样),则无需知道它是否存在.
那些IN/OUT指令如何调用HAL例程或者是否通过I/O管理器直接与硬件的设备驱动程序通信?
当您使用in和out指令时,这是直接与CPU通信.这与您正在讨论的NT内核主题完全无关.那里没有HAL.没有NT I/O管理器.这些指令是x86指令集通过I/O地址与设备通信的指令.