硬体抽象层（，缩写HAL）是软体层的例行程式套件，用于模拟特定系统平台的细节使程式可以直接存取硬体的资源。将硬体方面的不同抽离作业系统的核心，核心模式的程式码就不必因为硬体的不同而需要修改。因此硬体抽象层可加大软体的移植性。之所以有硬体抽象（）这个概念，是由于数位电脑具体的硬体操作相当繁杂，因此将具体的硬体操作抽象化简，避免由于直接以具体的机器码撰写程式，而在将程式移植到不同硬体时，需要重写整个程式。其概念与目的，类似于资料结构中的抽象数据类型 (Abstract data type)，皆为保护程式免受