Программа начального старта

Материал из Базы знаний сообщества разработчиков Эльбрус
Версия от 12:11, 25 сентября 2025; Антон Самсонов (обсуждение | вклад) (Заготовка статьи)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
Короткий адрес этой страницы: Boot

Программа начального старта (ПНС), она же загрузчик (boot — «бут») — встроенное программное обеспечение вычислительных машин архитектуры Эльбрус и МЦСТ-R, выполняющее инициализацию аппаратуры и запуск операционной системы. Является функциональным аналогом Базовой системы ввода-вывода (BIOS) компьютеров архитектуры x86.

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

Подробнее на сайте МЦСТ: Программа начального старта


Разновидности

Существует 2 основных разновидности ПНС:

  • унифицированный бут (unified boot) — стабильная ветвь развития Программы, предоставляющая унифицированный набор возможностей и пользовательских интерфейсов на всех поддерживаемых аппаратных платформах (возможны небольшие отличия для некоторых платформ с учётом их специфики);
  • экспериментальный бут (experimental boot) — отдельные ветви развития Программы для перспективных моделей процессоров, где создаются и обкатываются новые решения на этапе проектирования будущего процессора и в первое время после начала опытного производства микросхем; для таких ветвей развития Программы характерны новые уникальные функции и повышенная детализация отладочных средств, но в то же время возможно некоторое отставание от внедрения функций из унифицированной ветви и существование собственных дефектов (багов), не свойственных стабильному унифицированному варианту.

Также ПНС подразделяется на следующие виды:

  • по модели процессора — несмотря на то, что унифицированная разновидность ПНС предоставляет единообразный набор функций на всех поддерживаемых аппаратных платформах, каждая модель процессора требует учёта своих особенностей, а кроме того машинный код Программы более эффективен, когда скомпилирован с оптимизацией под конкретную модель процессора;
  • по модели материнской платы (или семейству моделей, или специализированных компьютеров) — с учётом особенностей конкретных моделей оборудования, в том числе с особыми значениями параметров по умолчанию; сейчас чисто декларативные особенности постепенно выносятся в дерево устройств, однако некоторые различия в поведении проще реализовать в программном коде, нежели описать формальными данными;
  • по дополнительной функциональности — например, с возможностью использования тех или иных средств доверенной загрузки (СДЗ), с возможностью разбиения ПЗУ на разделы и использования МикроОС, и т. д.

При обновлении ПНС крайне важно выбрать правильный образ Программы — не просто предназначенный для той или иной модели процессора, но совместимый с материнской платой и функционирующий в нужном режиме. Если ПНС оказалась заменена неподходящим вариантом, то новая ПНС может либо вообще запуститься на данном оборудовании, либо не запустить операционную систему, либо сильно ограничить возможности взаимодействия с компьютером — например, если выбран вариант Программы с блокировкой USB-портов и т. д. В таком случае для исправления ситуации и записи в ПЗУ правильного варианта Программы может потребоваться использование резервных средств — вплоть до использования внешнего программатора, подключённого к другому компьютеру, что для большинства пользователей означает необходимость отправки компьютера в сервисный центр.

Проконсультируйтесь со службой поддержки производителя компьютера (или материнской платы), чтобы точно определить необходимый вариант ПНС.


Альтернативы

Помимо «классической» Программы начального старта, запускаемой при старте процессора и занимающейся инициализацией аппаратуры и запуском операционной системы, существует несколько программ схожего назначения, дублирующих или заменяющих функции ПНС:

  • АПМДЗ — пользовательский интерфейс средства доверенной загрузки, позволяющий надёжно контролировать целостность файлов операционной системы перед её запуском;
  • Coreboot + TianoCore — экспериментальная реализация UEFI для процессоров Эльбрус, впервые опробованная на Эльбрус-1С+ в статусе альфа-версии и находящаяся в начальной стадии портирования на следующие поколения процессоров, в том числе для возможности использования высокоуровневых программных загрузчиков типа GRUB;
  • Lintel — двоичный транслятор уровня системы с собственной реализацией BIOS для запуска операционных систем в машинных кодах x86 (x86-64), а также для выполнения программного кода из областей PCI Option ROM установленных карт расширения;
  • МикроОС — минифицированная Linux-система, используемая в качестве загрузчика с расширенными возможностями, какие только способно предоставить ПО для Linux — начиная от драйверов оборудования и заканчивая графическими оболочками и служебными утилитами для восстановления и обслуживания.

Подробности см. в описании этих программ.