UEFI (программный интерфейс)
UEFI (аббревиатура от англ. Unified Extensible Firmware Interface – расширяемый интерфейс прошивки), спецификация, определяющая интерфейс между операционной системой (ОС) и встроенным (предустановленным) программным обеспечением (набором микропрограмм) системной платы. Интерфейс содержит таблицы данных с платформенно-зависимой информацией, описание и порядок вызовов сервисов этапа загрузки (англ. boot services), доступных только в процессе подготовки запуска ОС, а также сервисов времени выполнения (англ. runtime services), которые доступны для ОС и их загрузчиков. Данные сервисы представляют стандартное окружение для загрузки ОС или запуска приложений, работающих до её загрузки. По своей сути UEFI является развитием технологии BIOS.
Спецификация UEFI изначально была предназначена для нового поколения компьютеров на базе архитектуры Intel Architecture и является результатом проекта Intel Boot Initiative, который стартовал в 1998 г. В то время она разрабатывалась как средство для загрузки серверных платформ на базе процессоров Itanium.
В 2005 г. был создан Объединённый форум EFI (англ. The Unified EFI Forum) как межотраслевая организация для содействия внедрению и продолжения разработки спецификации.
Спецификация UEFI состоит из набора взаимоувязанных спецификаций, в том числе:
UEFI Specification – документ, непосредственно описывающий интерфейсы и сервисы UEFI.
UEFI Shell Specification – часть спецификации UEFI, определяющая программный интерфейс приложений (англ. Application Programming Interface – API) и набор команд, которые расширяют возможности командного интерпретатора («оболочки») UEFI Shell.
UEFI Platform Initialization (PI) Specification – спецификация, которая описывает внутренние интерфейсы между различными частями встроенного программного обеспечения системной платы и её компонентов. Изначально известна как Intel Platform Innovation Framework.
Distribution Package Specification – часть спецификации UEFI, которая определяет общую архитектуру и внешние интерфейсы, необходимые для распространения исходных и двоичных файлов UEFI/PI.
Advanced Configuration and Power Interface Specification – часть спецификации UEFI, описывающая архитектурно-независимый интерфейс управления электропитанием компонентов системной платы.
Перечисленные спецификации являются свободно распространяемыми документами.
Для разработки драйверов, приложений и образов встроенного ПО, соответствующих спецификациям UEFI, была разработана специализированная среда разработки – EFI Development Kit (EDK). EDK предоставляет разработчикам среду для создания и тестирования UEFI-совместимых приложений и драйверов.