BIOS в компьютере¶
BIOS (англ. Basic Input/Output System, «базовая система ввода-вывода») — программа, хранящаяся в энергонезависимой памяти материнской платы компьютера и выполняющая при включении машины начальную инициализацию аппаратных компонентов и запуск загрузчика операционной системы. BIOS относится к классу прошивок (firmware) и является первым кодом, который исполняется процессором после подачи питания или сброса.
¶Назначение и функции
Основные задачи BIOS:
- Проверка аппаратуры (POST, Power-On Self-Test) — диагностика процессора, оперативной памяти, накопителей, видеокарты и периферии до передачи управления операционной системе.
- Инициализация оборудования — настройка базовых регистров чипсета, контроллеров дисков, последовательных и параллельных портов, клавиатуры.
- Запуск загрузчика — поиск загрузочного устройства в заданном порядке и передача ему управления (читается загрузочный сектор MBR или раздел GPT с EFI).
- Предоставление сервисных функций — набор прерываний (для legacy BIOS это в основном INT 10h, INT 13h, INT 16h), через которые операционная система и программы могли обращаться к оборудованию.
- Хранение настроек — параметры даты и времени, порядок загрузки, тактовые частоты, включённые и отключённые интерфейсы сохраняются в CMOS-памяти или в отдельном разделе EEPROM.
¶Устройство и хранение
Классический BIOS записан в микросхеме флеш-памяти (EEPROM или flash-память) на материнской плате. Объём такой памяти в современных платах обычно составляет 8–32 МБ. Для сохранения настроек при отключении питания используется отдельная батарейка CR2032, питающая оперативную память CMOS (комплементарный металлолазерный полупроводник) или энергонезависимую область самой флеш-памяти.
В компьютерах IBM PC/AT и их совместимых клавиатура подключалась к BIOS через контроллер клавиатуры i8042, а видеоподсистема инициализировалась средствами BIOS. В современных системах эти функции во многом делегованы операционной системе и драйверам, поэтому роль BIOS сведена преимущественно к инициализации и загрузке.
¶Процесс загрузки
После нажатия кнопки питания процессор переходит в реальный режим и начинает исполнять код BIOS по фиксированному адресу (для x86 — с адреса 0xFFFFFFF0, так называемый reset vector). Далее выполняются следующие этапы:
- POST — самотестирование, инициализация контроллера памяти, проверка модулей ОЗУ.
- Инициализация видеоадаптера и вывод логотипа (при включённом режиме Quick Boot — сокращённая проверка).
- Определение и инициализация накопителей, USB-устройств, сетевых адаптеров.
- Выбор загрузочного устройства согласно приоритету из настроек.
- Чтение загрузочного кода и передача ему управления.
¶Настройки (Setup)
Параметры BIOS доступны в программе настройки, которая вызывается при загрузке нажатием определённой клавиши (чаще всего Del, F2, реже F10 или Esc). В Setup можно изменить:
- дату и время;
- порядок загрузки устройств;
- включить или отключить интегрированные контроллеры (SATA, USB, сеть, звук);
- задать параметры памяти и частоты;
- включить аппаратные технологии виртуализации (Intel VT-x, AMD-V);
- настроить безопасную загрузку (Secure Boot) в UEFI-системах.
¶UEFI как преемник BIOS
С 2000-х годов классический BIOS постепенно вытесняется интерфейсом UEFI (Unified Extensible Firmware Interface). UEFI поддерживает диск GPT объёмом свыше 2 ТБ, загрузку с 64-битных драйверов, графический интерфейс настроек, безопасную загрузку Secure Boot и модульную структуру. Фактически UEFI выполняет те же функции, что и BIOS, но в более развитой форме. Производители материнских плат (ASUS, Gigabyte, MSI, ASRock) с 2010-х годов выпускают практически только UEFI-прошивки, часто сохраняя совместимость с legacy-режимом.
¶История
Термин BIOS ввёл в оборот Гэри Килдалл в 1975 году для операционной системы CP/M. В IBM PC 1981 года BIOS был реализован в виде набора микросхем ПЗУ на материнской плате; его содержимое было вскоре клонировано компанией Phoenix Technologies, что позволило появиться совместимым IBM PC-клонам. В 1990-е годы Phoenix, Award и AMI стали основными поставщиками BIOS-прошивок. В 2005 году Intel инициировала переход на UEFI, и к 2020-м годам классический BIOS сохранился преимущественно в старом оборудовании и встраиваемых системах.
¶Роль пользователя
Для большинства пользователей BIOS остаётся служебным компонентом: настройки меняются редко — при установке новой операционной системы, замене накопителя, включении виртуализации или разгоне. Ошибочные изменения параметров могут привести к нестабильности или невозможности загрузки, поэтому перед правкой рекомендуется записать исходные значения. Прошивку можно обновлять средствами производителя платы, что позволяет исправлять ошибки и добавлять поддержку нового оборудования.
Источники:
- IBM. IBM Personal Computer Technical Reference Manual. — 1981.
- Intel Corporation. Unified Extensible Firmware Interface Specification. — 2020.
- Tanenbaum A. S. Structured Computer Organization. — Prentice Hall.
- Руководства по эксплуатации материнских плат ASUS, Gigabyte, MSI.
- Килдалл Г. CP/M Operating System Manual. — 1975.
