Определение
Базовая система ввода/вывода компьютера (basic input/output system — BIOS) — это программа, записанная в энергонезависимой памяти (например, в ПЗУ или во флэш-памяти). BIOS — первая программа, которая выполняется после включения компьютера.
Базовая система ввода/ вывода компьютера (basic input/output system — BIOS) — это программа, записанная в энергонезависимой памяти (например, в ПЗУ или во флэш-памяти). Таким образом, фактически это программное обеспечение реализовано на аппаратном уровне. BIOS (иногда ее называют ROM BIOS) — первая программа, которая выполняется после включения компьютера.
Ниже описаны этапы загрузки.
- Включение питания.
- Процессор начинает выполнение программы BIOS.
- BIOS запускает процедуру самотестирования при включении питания (Power-On Self Test). Данная процедура определяет, сколько памяти установлено в компьютере, и подтверждает, что критически важные низкоуровневые аппаратные функции работают корректно. Любая ошибка индицируется последовательностью звуковых сигналов. После этого BIOS отключает все конфигурируемые устройства.
- BIOS идентифицирует все периферийные устройства компьютера (жесткие диски, платы расширения и т.д.). Сначала ищутся устройства с автоматической настройкой конфигурации (plug-and-play). Каждому из них присваивается свой номер, однако активизация их на данном этапе не производится.
- BIOS находит внешнее устройство, на котором записана программа начальной загрузки (initial program load — IPL). Обычно это жесткий диск, дискета или диск CD-ROM с операционной системой. Но данная роль может отводиться и сетевой плате, отвечающей за соединение с сервером. BIOS ищет также все вторичные IPL-устройства.
- BIOS строит таблицу системных ресурсов, выделяя каждому найденному устройству ресурсы так, чтобы не возникало конфликтов. Для этого используется информация о конфигурации, хранящаяся в энергонезависимой памяти.
- Определяются и активизируются первичные устройства ввода (например, клавиатура) и вывода (скажем, монитор). Если в процессе загрузки происходит сбой, на экран выдается сообщение, предлагающее пользователю выбрать ранее сохраненные установки. Эти установки BIOS записывает в энергонезависимую память после последней удачной загрузки компьютера.
- Ищутся компоненты, не поддерживающие автоматической настройки конфигурации, в том числе и устройства, подключенные к шине PCI. Информация из их постоянной памяти заносится в таблицу распределения ресурсов.
- BIOS разрешает конфликты устройств и настраивает конфигурацию выбранного загрузочного устройства.
- Активизируются устройства с автоматической настройкой конфигурации. Программы, записанные в их постоянной памяти, вызываются с указанием соответствующих параметров.
- Запускается программа начальной загрузки. Если по каким-либо причинам загрузить операционную систему с устройства, выбранного по умолчанию, не удается, BIOS последовательно пытается загрузить ее с альтернативных устройств, перечисленных в списке.
- Устройство начальной загрузки переносит операционную систему в оперативную память.
- 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)