硬件抽象层(HAL)

Windows的硬件抽象层(HAL)使得系统组件和驱动程序在不直接访问硬件的情况下保持可移植性。HAL的相关文档在Windows DDK中提供。每个Windows安装仅选择一个HAL并将其作为Hal.dll存放在系统磁盘上。不同处理器的HAL可能不同,因此x86系统的HAL不能通用。
摘要由CSDN通过智能技术生成
 Windows设计的关键要素之一是,它能被移植到各种不同的硬件平台上。 硬件抽象层是使得这种移植性成为可能的一个关键部分。 HAL是一个可加载的、内核模式的模块,它提供了针对Windows当前运行所在的硬件平台的低层接口。它隐藏了与硬件相关的细节,比如I/O接口、中断控制器,以及多处理器通信机制——任何与体系结构相关或者与机器相关的功能。

所以, Windows内部组件以及用户编写的设备驱动程序并不直接访问硬件;相反,当它们需要获得与平台相关的信息时,它们可以通过调用HAL例程来保持可移植性。出于这一原因,针对这些HAL例程,也有相应的文档包含在Windows DDK中。要想找到更多有关HAL及其在设备驱动程序中用法的信息,请参考DDK。

虽然 Windows随带了几个HAL(见表2.6),但是在安装的时候只有一个HAL被选中,并且被拷贝到系统磁盘上,其文件名为Hal.dll(其他的操作系统,比如VMS,在系统引导的时候选择一个等价于HAL的模块)。因此,如果支持两个不同处理器的HAL有所不同的话,你就不能这样假设:一个x86已安装系统的系统磁盘也可以在另一个处理器上引导。

表2.6  在/Windows/Driver Cache/i386/Driver.cab中的x86 HAL列表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值