A. One of the key design features of Windows is that it supports multiple hardware platforms without the need for complete different versions of the OS. This support is accomplished through the HAL, which is implemented via the kernel-mode hal.dll module. All Windows components access hardware via the HAL, and multiple HALs are available that are specific to different hardware platforms. The installed HAL is chosen when the OS is installed (hence, why you can't take a disk from one machine and run it in a machine of a different hardware platform). The available HALs are listed here:
- Standard PC (non-ACPI) - Hal.dll - MPS Uniprocessor PC - Halapic.dll - MPS Multiprocessor PC - Halmps.dll - Advanced Configuration and Power Interface (ACPI) PC - Halacpi.dll - ACPI Uniprocessor PC - Halaacpi.dll - ACPI Multiprocessor PC - Halmacpi.dll
The installation process selects the correct HAL and copies it to the %systemroot%\system32 folder as hal.dll. The last three HALs in the list are the most common.