BIOS (встроенное программное обеспечение)
BIOS (PC BIOS, ROM BIOS, System BIOS) (от англ. Basic Input/Output System – базовая система ввода-вывода), устаревший класс встроенного (предустановленного) программного обеспечения (набора микропрограмм) системной платы, предназначенного для инициализации базового (минимально необходимого) набора аппаратного обеспечения, предоставления программного интерфейса к нему для операционной системы (ОС) и прикладного программного обеспечения, а также для подготовки и загрузки ОС в IBM PC-совместимых ЭВМ. Кроме того, BIOS также отвечал за функцию начального тестирования аппаратного обеспечения (англ. Power-On Self-Test – POST) и подготовку ЭВМ к запуску ОС (конфигурацию аппаратного обеспечения, выбор источника загрузки и др.).
Термин введён в 1975 г. Г. Килдаллом, основателем компании Digital Research и создателем ОС CP/M при описании машинно зависимой части ОС CP/M, которая выполнялась в процессе запуска и непосредственно взаимодействовала с аппаратным обеспечением ЭВМ.
Популярность данный термин приобрёл после выпуска компанией IBM первого персонального компьютера (IBM PC) в 1981 г. Тогда же компания IBM опубликовала его подробное техническое описание (The IBM Personal Computer Technical Reference Manual), содержащее листинг программного кода BIOS с подробными комментариями, и тем самым обозначила своё авторское право.
В связи с высокой популярностью IBM PC компании-конкуренты начали разработку своих собственных, совместимых с IBM PC, персональных компьютеров. Одной из проблем при их разработке стала необходимость и в тоже время невозможность использования опубликованного кода BIOS без разрешения IBM. Однако поскольку авторское право у IBM было только на программную реализацию, а не на сам интерфейс, вскоре появились первые аналоги IBM PC – модели ЭВМ таких компаний, как Columbia Data Products, Eagle Computer и Compaq Computer Corporation. В ЭВМ данных компаний программный код BIOS был значительно переработан, чтобы избежать нарушений авторских прав IBM.
В 1984 г. компания Phoenix Technologies выпустила уже свой собственный вариант BIOS, после чего появились и другие его разработчики – American Megatrends (AMI) и Award Software. Это позволило выйти на рынок IBM PC-совместимых компьютеров другим производителям.
Появление такого понятия, как BIOS, стало своеобразной отправной точкой в понимании необходимости абстрагирования аппаратного обеспечения ЭВМ от операционной системы и прикладного программного обеспечения. Скрытие от разработчиков ОС и прикладного программного обеспечения конкретной реализации взаимодействия с аппаратным обеспечением ЭВМ и предоставление им только высокоуровневых интерфейсов (точек входа) позволило в дальнейшем разрабатывать ОС и программное обеспечение, априорно имея необходимость в наличии гораздо меньшего объёма исходной информации об аппаратном окружении. Впоследствии BIOS стали использовать во всех PC-совместимых ЭВМ.
Физически машинный код BIOS находился в постоянном (энергонезависимом) запоминающем устройстве системной платы, откуда после включения электропитания он считывался в оперативную память и выполнялся центральным процессором.
В процессе исполнения кода BIOS выполнялись следующие основные задачи:
начальная настройка базового набора аппаратных компонентов ЭВМ;
тестирование аппаратного окружения (POST);
предоставление (при необходимости) пользовательского интерфейса для возможности изменения некоторых настроек аппаратного окружения до старта ОС;
установка обработчиков прерываний для организации интерфейса взаимодействия ОС с аппаратными компонентами ЭВМ;
передача управления загрузчику ОС.
Развитие концепции разделения процессов разработки аппаратного и программного обеспечения ЭВМ привело к запуску в 1999 г. компанией Intel проекта The Extensible Firmware Interface, который ныне больше известен под названием UEFI (англ. Unified Extensible Firmware Interface) и разрабатывается альянсом компаний – производителей аппаратного и программного обеспечения UEFI Forum.