Intel против BIOS
АрхивПерспективыЕдинственный элемент ПК, который не менялся уже 23 года - это BIOS. В Intel считают, что от него пора избавиться.
Все современные персональные компьютеры, из каких комплектующих они бы не состояли, объединяет одно - загрузочная микропрограмма BIOS (базовая система ввода/вывода). С появления первых ПК и до сегодняшнего дня прошло более 20 лет, однако пока никто не задумывался над тем, а не пришла ли пора заменить BIOS на более современный микропрограммный интерфейс.
Основная задача загрузочной микропрограммы - в ходе загрузки объединить разнообразные комплектующие в единую функциональную систему. Поскольку современные компьютерные комплектующие не имеют собственных механизмов инициализации, этот процесс, который называют тестированием при включении (POST), повторяется при каждой загрузке, а в выключенном состоянии компьютер представляет собой просто разрозненный набор "железок". Кроме того, процедура POST исполняется в ограниченной области памяти на языке ассемблера, что препятствует использованию более современных алгоритмов и реализации новых возможностей.
При включении компьютера микропрограмма, объединяющая комплектующие в единую систему, сообщает загрузчику операционной системы (ОС) сведения об управляемости машины и предоставляет ОС некоторые сервисы, реализованные на основе 16-разрядных программных прерываний для обращения к винчестеру, видеоускорителю, клавиатуре и другим компонентам. Здесь, опять же, возникают проблемы, связанные с ограниченными возможностями передачи параметров и введения новых сервисов.
Специалисты Intel предложили альтернативу BIOS, выраженную в концепции Platform Innovation Framework for the Extensible Firmware Interface (EFI) ("Рамочная инфраструктура для развития платформы на базе расширяемого микропрограммного интерфейса", далее - просто "Рамочная инфраструктура"), которая расширяет возможности компьютера и ускоряет загрузку. Спецификация EFI позволяет создать общий системный загрузчик для платформ с различными архитектурами, включая платформы на базе процессоров с 32-разрядной архитектурой Intel и семейства 64-разрядных процессоров Itanium.
В архитектуре EFI задача инициализации системы и предоставления сервисов операционной системы решается в несколько этапов, каждый из которых характеризуется ресурсами, доступными на этом этапе, правилами, которым должен подчиняться программный код этого этапа, и результатами исполнения этапа. Каждый последующий этап опирается на результаты работы предыдущего.
Платформенно-зависимые функции реализуются в виде взаимодействующих между собой модулей, которые на этапе Pre-EFI (PEI) называются модулями PEI, а на этапе исполнения драйверов (DXE) - драйверами DXE или EFI. Инфраструктура и модули почти полностью выполнены в виде переносимого программного кода на языке C. Кроме того, перед началом работы возможна криптографическая проверка и самой рамочной инфраструктуры, и драйверов, что позволяет построить доверительную цепочку от момента включения до загрузки ОС и после нее. Принцип интерфейсов, положенный в основу EFI, позволяет отделить программный код от конкретной микроархитектуры и структуры платформы. По замыслу разработчиков Intel, использование EFI вместо традиционной BIOS позволит ускорить создание принципиально новых, нетрадиционных конструкций вычислительных платформ.