Использование UEFI во встроенных и мобильных устройствах

В этой гостевой колонке два инженера из Intel Software and Solutions Group описывают преимущества предзагрузочного программного обеспечения UEFI для мобильных и встраиваемых устройств.
Спецификации Unified Extensible Firmware Interface предназначены для облегчения появления новых технологий, сервисов, механизмов безопасности и взаимодействия с пользователем, которые вступают в игру до загрузки ОС устройства.

Использование UEFI во встроенных системах, от смартфонов до информационно-развлекательной системы в автомобиле

Винсент Зиммер и Майкл Ротман

Спецификации Unified Extensible Firmware Interface (UEFI), разработанные для обеспечения кросс-функциональности между устройствами, программным обеспечением и системами, поощряют инновации, помогая стимулировать развитие технологий следующего поколения, таких как расширение встраиваемых и не-ПК систем.
Для этого UEFI предоставляет множество сервисов, включая консоль, хранилище и сетевые сервисы.

Эта технология, размещенная и внедренная на форуме UEFI , позволяет внедрять микропрограммное обеспечение, предлагая стандартизированный, расширяемый и совместимый интерфейс микропрограммного обеспечения, который выходит далеко за пределы ПК и обеспечивает будущее вычислительной техники и встраиваемых систем.

Встроенные системы - от простых платформ до 64-битных микро

Несколько десятилетий назад встроенные системы были аналоговыми или простыми, основанными на машинах платформами, использующими SSI, MSI или PLD.
В 1970 году Intel 4004 представила возможность для перепрограммируемых встроенных систем, таких как светофоры, элементы управления и другие фиксированные функции.

Микропроцессор вызвал волну непрерывной эволюции, продемонстрированную переходом рынка встраиваемых систем с 8-битных на 16-битные, на 32-битные и на 64-битные микропроцессоры.
Это отражает переход от простых сотовых телефонов к смартфонам, от механических тормозов до управляемых микропроцессором антиблокировочных устройств и от рукописных указаний к спутниковым навигационным системам.
Наряду с этим прогрессом появились информационно-развлекательные системы и цифровые вывески в транспортных средствах, а также множество других примеров скрытого интеллекта в окружающем нас мире, обеспечивающих несколько новых способов использования UEFI.

Эта волна аппаратного развития вызвала почти ненасытный аппетит к программному обеспечению.

Масштабирование экосистемы ПК во встроенное пространство

С ростом богатства программной экосистемы и растущей сложности платформ возникла необходимость в слое между ядром операционной системы и платформой.
По мере того, как платформы для ПК с поддержкой UEFI стали широко распространяться, возникла новая проблема: как взять развивающуюся экосистему ПК и уменьшить ее для использования во встроенном пространстве?
Типичные платформы для ПК не масштабируются, чтобы соответствовать достижениям на встраиваемой территории.
Для различных встроенных операционных систем пользовательский спрос предъявляет совершенно другой набор требований, таких как мгновенное включение питания.

Многим из этих операционных систем требуется специальное встроенное ПО с аппаратными интерфейсами для конкретной ОС, чтобы соответствовать модели экосистемы встроенного ПО ПК.
В конечном счете, каждый - от поставщика, разработчика до конечного пользователя - хочет работать умнее, а не усерднее.
Современная задача состоит в том, чтобы предоставить встроенному программному обеспечению встроенную платформу с возможностями, сопоставимыми с традиционной моделью.
Микропрограмма должна быть независимой от ОС, масштабируемой на различные аппаратные средства платформы и способной повысить эффективность работы разработчиков.
Благодаря своей способности поддерживать масштабируемость спецификации UEFI выполняют уникальную роль.

Спецификации UEFI предоставляют согласованный набор независимых от ОС программных интерфейсов, которые абстрагируют базовые детали платформы.
Эти абстракции могут быть наложены на SATA, SCSI, iSCSI, USB Bulk Only Transport или любое другое блочное устройство.
Путешествуя с системной платой, UEFI служит набором встроенных драйверов и возможностей, от которых могут зависеть загрузчики операционной системы и приложения, предшествующие ОС.

С точки зрения программного обеспечения, UEFI не только работает на разных платформах, чтобы способствовать росту и функциональной совместимости, но и служит полезным инструментом в борьбе с вредоносным ПО в пред-ОС пространстве.
Используя стандарты UEFI, независимые поставщики программного обеспечения (ISV), работающие на рынке, предшествующем ОС, могут создавать совместимые приложения, такие как агенты обеспечения, диагностика и шифрование всего диска.
Поскольку стандарты UEFI позволяют выполнять устранение неполадок и тестирование до загрузки ОС, эффективность процесса разработки повышается.

С точки зрения аппаратного обеспечения, спецификации UEFI способствуют инновациям и совместимости, работая на разных платформах для поддержания технологического роста.
Независимые поставщики оборудования (IHV) поддерживают драйверы UEFI, предназначенные для работы на любой системной плате, совместимой с UEFI.
Эти драйверные программы могут функционировать в соответствии со спецификациями UEFI на многопроцессорных архитектурах.

UEFI архитектура и оптимизация расширяемой загрузки

Микропрограмма UEFI с самого начала была разработана для поддержки максимальной масштабируемости, как показано на диаграмме ниже.
Нет никаких конструктивных различий между нормальной загрузкой и оптимизированной загрузкой.
Оптимизация производительности платформы не требует нарушения каких-либо проектных спецификаций.
Кроме того, совместимый со стандартами дизайн UEFI не обязательно должен охватывать все аспекты стандартной архитектуры ПК;
вместо этого его область действия может быть ограничена компонентами, необходимыми для инициализации платформы.


Архитектурное сравнение потока загрузки

(щелкните изображение, чтобы увеличить; источник Intel)

Разработанный для масштабируемости, расширяемости и функциональной совместимости, UEFI имеет все возможности для рационализации технологического развития как в ПК, так и во встроенных приложениях.
По мере того как сложность платформы возрастает во встроенной сфере, разделение интересов между аппаратным и системным программным обеспечением уступает место гибкости и стандартизации, обеспечиваемым UEFI.

Для получения дополнительной информации о UEFI посетите веб-сайт UEFI Forum .

Майкл Ротман - инженер в группе программного обеспечения и решений Intel.
За свою карьеру он опубликовал несколько технических статей и книг, опубликовал более 200 патентов США и выступал на многочисленных отраслевых конференциях.
Вы можете найти его в Твиттере на @MichaelARothman.
Винсент Зиммер - инженер в группе программного обеспечения и решений Intel.
Родом из Хьюстона, он работает в Intel с 1997 года. За 20 лет работы со встроенными системами и встроенными программами он получил более 250 патентов США, представлен на нескольких отраслевых конференциях и участвовал в нескольких публикациях книг.