Шаг 159 - Что такое HAL

HAL расшифровывается как Hardware Abstraction Layer или слой абстрагированной аппаратуры. Этот уровень отделяет операционную систему от оборудования.

159_1.gif (10121 b)

Как видите с реальной аппаратурой работает именно уровень HAL. Для лучшего понимания можно привести пример. Команды посылки получения данных в порты для процессоров Intel это IN и OUT. На других процессорах команды могут быть другие, в Windows NT на этот случай определены две макрокоманды read_port_uchar и write_port_uchar, которые могут использоваться вне зависимости от реального процессора. Данный механизм позволяет функционировать Windows NT на различных платформах, было бы необхомое программное обеспечение для уровня HAL. В физическом выражении это файл HAL.DLL, который находится в каталоге:

..\winnt\system32\

Который загружается первый перед загрузкой NT. Не самый первый, а первый перед началом загрузки операционной системы. Вы можете просмотреть список функций.

159_2.gif (8844 b)

Часть из них вообще нигде не описана, а часть например IoMapTransfer описана в Windows NT DDK (Driver Developer Kit).


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 12.05.2002