HAL промежуточный уровень между пользовательскими приложениями и драйверами устройств, предоставляемы ОС. Благодаря HAL приложениям не нужно, например, для чтения файла указывать номер блока /сектора/головки для чтения с диска, а достаточно указать имя файла.
HAL предоставляет стандартный интерфейс работы с оборудованием пользовательским приложениям, а так же интерфейсы для драйверов.
Т.е. доступ к оборудованию в современных ОС происходит по следующей схеме:
Пользовательское приложение <-> HAL <-> драйвер устройства <-> устройство
Обычно до HAL есть еще слой абстракции, а то и не один.