Определение

Базовая система ввода/вывода компьютера (basic input/output system — BIOS) — это программа, записанная в энергонезависимой памяти (например, в ПЗУ или во флэш-памяти). BIOS — первая программа, которая выполняется после включения компьютера.

Базовая система ввода/ вывода компьютера (basic input/output system — BIOS) — это программа, записанная в энергонезависимой памяти (например, в ПЗУ или во флэш-памяти). Таким образом, фактически это программное обеспечение реализовано на аппаратном уровне. BIOS (иногда ее называют ROM BIOS) — первая программа, которая выполняется после включения компьютера.

Ниже описаны этапы загрузки.

  1. Включение питания.
  2. Процессор начинает выполнение программы BIOS.
  3. BIOS запускает процедуру самотестирования при включении питания (Power-On Self Test). Данная процедура определяет, сколько памяти установлено в компьютере, и подтверждает, что критически важные низкоуровневые аппаратные функции работают корректно. Любая ошибка индицируется последовательностью звуковых сигналов. После этого BIOS отключает все конфигурируемые устройства.
  4. BIOS идентифицирует все периферийные устройства компьютера (жесткие диски, платы расширения и т.д.). Сначала ищутся устройства с автоматической настройкой конфигурации (plug-and-play). Каждому из них присваивается свой номер, однако активизация их на данном этапе не производится.
  5. BIOS находит внешнее устройство, на котором записана программа начальной загрузки (initial program load — IPL). Обычно это жесткий диск, дискета или диск CD-ROM с операционной системой. Но данная роль может отводиться и сетевой плате, отвечающей за соединение с сервером. BIOS ищет также все вторичные IPL-устройства.
  6. BIOS строит таблицу системных ресурсов, выделяя каждому найденному устройству ресурсы так, чтобы не возникало конфликтов. Для этого используется информация о конфигурации, хранящаяся в энергонезависимой памяти.
  7. Определяются и активизируются первичные устройства ввода (например, клавиатура) и вывода (скажем, монитор). Если в процессе загрузки происходит сбой, на экран выдается сообщение, предлагающее пользователю выбрать ранее сохраненные установки. Эти установки BIOS записывает в энергонезависимую память после последней удачной загрузки компьютера.
  8. Ищутся компоненты, не поддерживающие автоматической настройки конфигурации, в том числе и устройства, подключенные к шине PCI. Информация из их постоянной памяти заносится в таблицу распределения ресурсов.
  9. BIOS разрешает конфликты устройств и настраивает конфигурацию выбранного загрузочного устройства.
  10. Активизируются устройства с автоматической настройкой конфигурации. Программы, записанные в их постоянной памяти, вызываются с указанием соответствующих параметров.
  11. Запускается программа начальной загрузки. Если по каким-либо причинам загрузить операционную систему с устройства, выбранного по умолчанию, не удается, BIOS последовательно пытается загрузить ее с альтернативных устройств, перечисленных в списке.
  12. Устройство начальной загрузки переносит операционную систему в оперативную память.
  13. BIOS получает управление над операционной системой, что позволяет ей распределять другие ресурсы.

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

Важные изменения функционального состава BIOS персональных компьютеров произошли в 1995 году, после появления Windows 95. Новая операционная система поддерживала возможность автоматического конфигурирования, что не только упростило установку дополнительных плат расширения, но и помогло выработать согласованный механизм, позволяющий BIOS распознавать и осуществлять настройку конфигурации системных устройств.

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

Однако после разработки спецификаций plug-and-play средства BIOS получили гораздо большую свободу в перераспределении номеров прерываний и адресов ввода/вывода, чем требовалось жесткому диску для того, чтобы избежать конфликтов между ресурсами.

С появлением высокоскоростных последовательных интерфейсов Universal Serial Bus и IEEE 1394 стало возможным подключать и отсоединять устройства без выключения питания. Другими словами, они стали появляться и исчезать в системе без предупреждения.

А это, в свою очередь, означало, что BIOS должна сохранять информацию о ресурсах каждого известного системе устройства и делать это динамически, с тем чтобы номер прерывания, диапазон адресов и идентификатор назначались устройству без необходимости перезагрузки.

Том Томпсон — ведущий преподаватель-консультант компании Metrowerks. Электронную почту ему можно направлять по адресу thompson@metrowerks.com


Процесс загрузки

При загрузке компьютерной системы BIOS играет центральную роль в идентификации и назначении ресурсов и устройств. Она сохраняет настройки и данные о конфигурации в таблице системных ресурсов (SRT), а также в энергонезависимой оперативной памяти (NVR)