Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A hardware abstraction layer (HAL) is a logical division of code that serves as an abstraction layer between a computer's physical hardware and its software. It provides a device driver interface allowing a program to communicate with the hardware.
The main purpose of a HAL is to conceal different hardware architectures from the OS by providing a uniform interface to the system peripherals.
A hardware abstraction layer is included in many OSs to avoid modifying the OS kernel to run the program on computers with varying hardware architecture. A PC may include the HAL in the OS kernel or in the form of device drivers that provide a consistent interface for applications to interact with the hardware peripherals.
The HAL provides the following benefits:
Some of the OSs that feature HALs include the Mac OS, Linux, DOS, Solaris, BSD, Windows NT, Windows 2000 and IBM’s AS/400.