Документ UEFI Boot Services Driver HII Configuration описывает реализацию firmware дис­ко­вых контроллеров LSI с применением технологии HII (Human Interface Infrastructure или аль­тер­на­тив­ная расшифровка — Human Interface Interconnect) как унифицированного метода по­стро­е­ния пользовательского интерфейса для утилит конфигурирования дисковых конт­рол­ле­ров.

Документ UEFI Boot Services Driver HII Configuration описывает реализацию firmware дисковых контроллеров LSI с применением технологии HII

В документе рассматривается реализация модулей firmware дисковых контроллеров в виде Boot Service Driver — таких EFI-драйверов, которые используются только в процессе загрузки операционной системы. Работа такого драйвера прекращается, когда EFI-приложение (UEFI-загрузчик операционной системы) вызывает функцию Exit Boot Services. В этот момент обязанности по обслуживанию ряда системных функций переходят к драйверам ОС.

Существует также понятие Runtime Service Driver, сервисные функции которого доступны для использования, как во время загрузки, так и в сеансе ОС. Сокращение BSD здесь означает Boot Service Driver, а не одноименную операционную систему.

Runtime Service Driver — это EFI-Драйвер, сервисные функции которого доступны для использования, как во время загрузки, так и в сеансе операционной системы

HII (Human Interface Infrastructure) — это библиотека сервисных функций, позволяющих реализовать диалог с пользователем, например в виде графического интерфейса. Эти функции может обслуживать UEFI BIOS платформы, UEFI драйвер в составе ROM адаптера или загружаемый UEFI драйвер. Функции доступны для использования EFI приложениями.

Очевидно, для реализации интерфейса пользователя есть и более консервативные пути. Для реализации оконного интерфейса, EFI приложение может использовать Graphics Output Protocol (вывод графики) и Simple Text Input Protocol (ввод с клавиатуры). Но в этом случае, программисту придется самостоятельно реализовывать все операции по построению окон, поддержке фонтов, организации ввода (включая поддержку национальных алфавитов), настройке на текущие возможности и геометрию экрана.

Таким образом, отказавшись от тиражирования процедур поддержки оконного интерфейса в каждом приложении, использование HII сокращает сроки и стоимость разработки приложений, делает приложения более компактными и унифицирует процедуры пользовательского интерфейса. Заметим также, что такая унификация заметна и пользователю — окна всех приложений будут выглядеть одинаково. Если каждое приложение будет генерировать «свои» окна используя GOP, пользователю придется учиться работать с каждым новым приложением. Этот подход оправдан только при организации неких уникальных интерфейсов.


18.12.2017