BIOS
BIOS (/ˈbaɪɒs/, от англ. basic input/output system[1] — «базовая система ввода-вывода»), БИОС[2], также БСВВ — набор микропрограмм, реализующих API для работы с аппаратурой компьютера и подключёнными к нему устройствами.
BIOS относится к системному программному обеспечению (ПО).
Виды BIOS:
- BIOS материнской платы IBM PC-совместимого компьютера;
- BIOS периферийных устройств;
- NetBIOS.
C начала XXI в. BIOS стал постепенно заменяться UEFI. Однако многие производители материнских плат компьютеров, учитывая инертность основной массы потребителей, используют объединённый термин UEFI BIOS[3], неверный с технической точки зрения, но дающий возможность понять потребителям, что речь идёт о подсистеме, аналогичной BIOS.
Термин BIOS
Термин BIOS употребляется по отношению к устройствам, совместимым с персональными компьютерами фирмы IBM. Для устройств, построенных на базе иных платформ, используются другие термины. Например, для компьютеров архитектуры SPARC набор микропрограмм может называться PROM или Boot.
Русское название БИОС произошло из транслитерации английской аббревиатуры BIOS[2].
BIOS материнской платы
В IBM PC-совместимом компьютере, использующем микроархитектуру x86, код BIOS хранится на микросхеме EEPROM (ЭСППЗУ — электрически стираемое перепрограммируемое постоянное запоминающее устройство).
Назначение BIOS:
- проверка работоспособности оборудования;
- загрузка операционной системы (ОС);
- предоставление API для работы с оборудованием;
- настройка оборудования.
Начальная загрузка компьютера
После включения IBM PC-совместимого компьютера процессор, реализующий микроархитектуру x86, читает код BIOS из ПЗУ (с микросхемы EEPROM), записывает его в ОЗУ (оперативную память) и передаёт управление коду BIOS.
Затем код BIOS:
- выполняет тестирование оборудования компьютера (см. POST, англ. power-on self-test);
- читает настройки из энергонезависимого ПЗУ;
- применяет настройки;
- ищет и загружает в оперативную память код загрузчика;
- передаёт управление загрузчику.
Таким образом BIOS обеспечивает начальную загрузку IBM PC-совместимого компьютера.
В дальнейшем загрузчик ищет и загружает в память код операционной системы и передаёт ему управление.
BIOS реализует API для работы с внутренними и внешними устройствами компьютера. Загрузчик ОС и сама ОС используют это API для работы с оборудованием до тех пор, пока не загрузят собственные драйверы.
В настоящее время компания Intel на новых платформах предлагает использовать extensible firmware interface (UEFI) вместо BIOS.
Инициализация и проверка работоспособности аппаратуры
Бо́льшую часть кода BIOS составляют микропрограммы, предназначенные для инициализации контроллеров, расположенных на материнской плате, и устройств, подключённых к материнской плате (которые, в свою очередь, могут иметь контроллеры с собственными BIOS).
Сразу после включения питания компьютера процессор читает код BIOS из EEPROM, записывает код BIOS в память и передаёт ему управление. Первым делом код BIOS начинает проверку аппаратного обеспечения компьютера — POST (англ. power-on self-test). В ходе POST код BIOS проверяет работоспособность контроллеров, расположенных на материнской плате, задаёт низкоуровневые параметры их работы (например, частоту шины и параметры центрального микропроцессора, контроллера оперативной памяти, контроллеров шин FSB, AGP, PCI, USB).
Если во время POST случится сбой, код BIOS может выдать информацию, позволяющую выявить причину сбоя. Кроме вывода сообщения на монитор (а также в случаях, если нет возможности вывести сообщение на монитор), используется звуковой сигнал, воспроизводимый при помощи встроенного динамика (спикера). Звуковые сигналы по высоте тона, продолжительности и комбинациям могут различаться в зависимости от производителя и версии BIOS.
См. также:
Загрузка операционной системы
Если POST выполнен без ошибок, код BIOS начнёт поиск кода загрузчика ОС. Поиск выполняется на доступных и разрешённых в настройках носителях:
- в главной загрузочной записи (англ. master boot record, MBR) на жёстком диске или твердотельном накопителе;
- на USB-флеш-накопителе или внешнем жёстком диске;
- на оптическом диске CD-ROM или DVD-ROM;
- на дискете (англ. floppy disk);
- в сети с использованием технологии PXE (см. также «тонкий клиент»).
Код BIOS загрузит код загрузчика ОС в память и передаст ему управление.
Загрузчик ОС и сама ОС по ходу работы могут изменять большинство настроек, установленных кодом BIOS.
Некоторые реализации BIOS поддерживают загрузку через интерфейсы, изначально для этого не предназначенные (USB и IEEE 1394).
Утилиты, доступные без загрузки ОС
Старые компьютеры семейства IBM PC/XT не имели полноценной операционной системы (либо её загрузка не была необходима пользователю), вызывали встроенный интерпретатор языка BASIC (который выполнял роль простейшей ОС).
Некоторые BIOS предоставляют дополнительную функциональность:
Примитивное API
IBM-совместимые компьютеры изначально конструировались так, чтобы предоставить возможность расширения. По этой причине работа с дисками и экраном выполнялась через функции BIOS — при появлении нового оборудования переписывается BIOS, а программы продолжают работать, как и раньше. Ранее для этого использовались порты ввода-вывода и блоки памяти.
Код BIOS предоставляет несколько интерфейсов, упрощающих составление программ, — например, функции для работы с экраном в телетайпном режиме, функции для сканирования клавиатуры. Эти API позволяют работать с оборудованием на низком уровне, поэтому в названии «BIOS» присутствует слово «базовый».
Функции BIOS используются простейшими ОС (такими, как DOS). Современные ОС, такие как Linux и Windows, пользуются функциями BIOS только в момент загрузки и в «аварийных» режимах — после загрузки они используют свои драйверы, а не BIOS.
С развитием компьютерных систем в коде BIOS продолжали использоваться устаревшие технологии: прежде всего «реальный режим» работы процессора x86.
Для замены BIOS рядом производителей вычислительных систем (Unified EFI Forum, UEFI) предложена и внедряется технология EFI.
Настройка оборудования с помощью меню
Чтобы позволить пользователям менять настройки оборудования, код BIOS, как правило, реализует экранное меню.
Открыть меню BIOS (англ. BIOS setup) можно, если во время POST нажать определённую клавишу. Часто используются клавиши Del, F2, F10, Esc и F8.
Некоторые возможности меню:
- настройка даты и времени для системных часов;
- настройка периферии, не приспособленной к работе в режиме «Plug and Play», например жёстких дисков, выпущенных в начале 1990-х годов и работающих в режиме адресации CHS; COM- и LPT-портов;
- запуск аппаратуры в «форсированном» или «щадящем» режиме;
- установка заводских настроек (подробнее см. ниже);
- включение и выключение оборудования, встроенного в материнскую плату (USB-, COM- и LPT-портов, встроенного видео-, сетевого или звукового адаптера);
- отключение некоторых тестов, выполняемых во время POST, для уменьшения времени выполнения POST (ускорения начальной загрузки);
- активация обходных ветвей для известных ошибок ОС. Например, если Windows 95 отказывается загружаться на машине без флоппи-дисковода, BIOS может перенаправить векторы IRQ так, чтобы ОС поняла, что дисковода нет[4]. Если неудачно написанный драйвер не работает с жёсткими дисками, подключёнными через интерфейс SerialATA, BIOS может эмулировать интерфейс ATA;
- порядок носителей, с которых выполняется загрузка компьютера: жёсткий диск, USB-накопители, CD-ROM, загрузка с использованием сетевой платы (NIC) по технологии PXE и т. д. Если загрузка с первого носителя не удалась, BIOS пробует следующий по списку.
Сами состояния настроек не находятся непосредственно в микросхеме ПЗУ BIOS-а. Они записываются в энергонезависимое ОЗУ (NVRAM), физически находящееся в другой микросхеме (очень часто — в ячейках памяти южного моста). В выключенном состоянии компьютера питание ячеек NVRAM осуществляется от собственного источника, в качестве которого очень часто используются литиевые элементы CR2032 и подобные (одновременно использующиеся для резервного питания встроенных аппаратных системных часов).
Так как существует вероятность неправильной настройки оборудования (неудачный разгон, воздействие вирусов, неправильные значения параметров, аппаратный сбой), предусмотрена возможность возврата настроек по умолчанию (сброса настроек). Сбросить настройки можно несколькими способами:
- программно:
- с помощью меню BIOS;
- путём нажатия особой комбинации клавиш во время POST;
- аппаратно:
- путём установки перемычек (англ. jumper) на материнской плате. На плате перемычки обычно обозначены надписью «CLEAR_CMOS», «CLR_CMOS», «CLRRTC»[5] или др.;
- путём нажатия кнопки, расположенной на материнской плате. Кнопка может быть вынесена на заднюю панель системного блока[6];
- путём отключения резервного источника питания, например литиевой батарейки.
Информация о назначении пунктов меню BIOS и о сбросе настроек в первоначальное состояние указывается в инструкциях к материнским платам[7][8]. Инструкции поставляются в комплекте с материнскими платами и могут быть скачаны с сайта производителя платы.
SLIC
С выходом ОС Windows Vista производители компьютеров стали внедрять в BIOS таблицу SLIC («ACPI_SLIC table», SLIC — аббревиатура от англ. software licensing description table). В таблице SLIC хранится информация о лицензировании ПО. Таблица SLIC является первым из трёх компонентов, созданных для OEM-активации ОС семейства Microsoft Windows в режиме offline (без доступа к сети Интернет).
ОС Windows при установке проверяет наличие в BIOS таблицы SLIC, ищет в таблице SLIC код продукта OEM и цифровой сертификат OEM для выполнения активации.
Код продукта OEM (OEM SLP или system locked pre-installation) — специальный 25‑значный ключ‑лицензия. Выдаётся только крупным производителям комплектующих. Является вторым компонентом OEM-активации в режиме offline.
Цифровой сертификат OEM (OEM certificate) — файл в формате XML с расширением *.xrm-ms
. Выдаётся фирмой Microsoft каждому крупному производителю ПК. Является третьим компонентом OEM-активации в режиме offline.
Для активации ОС Windows использует определённый алгоритм. Этот алгоритм проверяет все три компонента и в случае успеха автоматически активирует ОС Windows.
См. также:
Производители
Основные производители BIOS для ноутбуков, персональных компьютеров и серверов:
- American Megatrends, Inc. (AMI);
- Award Software;
- Phoenix Technologies.
- Microid Research
См. также
- Образ ПЗУ
- coreboot
- Open Firmware
- Extensible Firmware Interface (UEFI, наследник BIOS)
- Микропрограмма SRM
Примечания
- BIOS definition and meaning (англ.). Collins English Dictionary. Дата обращения: 12 марта 2017.
- Воройский Ф. С. Информатика. Энциклопедический систематизированный словарь-справочник. — М.: Физматлит, 2006. — С. 191. — 945 с.
- Asustech PRIME Z590-P — материнская плата
- Tech ARP — Report No FDD For Win95
- RTC — англ. real time clock.
- Описание материнской платы «p7p55de evo» (англ.) // Asus.
- Глоссарий настроек Intel BIOS — по меню (недоступная ссылка) (англ.)
- Глоссарий настроек Intel BIOS — в алфавитном порядке (недоступная ссылка) (англ.)
Литература
- Степаненко О. С. Настройка персонального компьютера. Установки BIOS. Самоучитель. — 2-е изд. — М.: «Диалектика», 2007. — С. 480. — ISBN 978-5-8459-1231-2.
- Скотт Мюллер. Модернизация и ремонт ПК = Upgrading and Repairing PCs. — 17-е изд. — М.: «Вильямс», 2007. — С. 443–498. — ISBN 0-7897-3404-4.
- Евгений Панкратов. Операционная система MS-DOS 6.22: Справочное пособие. — 2-е изд. — М.: Познавательная книга плюс, 2002. — С. 224. — ISBN 5-8321-0305-1.
Ссылки
- Глоссарий настроек Intel BIOS — по меню (англ.)
- Глоссарий настроек Intel BIOS — в алфавитном порядке (англ.)
- Видеокаст службы поддержки Intel, посвящённый восстановлению повреждённого BIOS (англ.)
- Видеоролик, посвящённый восстановлению BIOS на серверах Intel (англ.)
- Instructions for Recovery BIOS update (англ.)