BIOS

Запрос «БИОС» перенаправляется сюда; см. также другие значения.

Основная и дублирующая микросхемы ПЗУ на материнской плате фирмы Gigabyte. В этих ПЗУ содержится код BIOS, созданный фирмой Award[англ.] Извлекаемая (в специальной панельке) микросхема ПЗУ в корпусе PLCC, содержащая код BIOS, созданный фирмой Phoenix Technologies[англ.]

BIOS (МФА [ˈbaɪəs], от англ. basic input/output system[1] — «базовая система ввода-вывода»), БИОС[2], также БСВВ — набор микропрограмм, реализующих низкоуровневые API для работы с аппаратным обеспечением компьютера, а также создающих необходимую программную среду для запуска операционной системы у IBM PC-совместимых компьютеров. BIOS относится к системному программному обеспечению.

C начала XXI века BIOS стал постепенно заменяться UEFI. Однако многие производители материнских плат компьютеров, учитывая инертность основной массы потребителей, используют объединённый термин UEFI/BIOS[3], неверный с технической точки зрения, но дающий возможность понять потребителям, что речь идёт о подсистеме, аналогичной BIOS.

## Содержание

* 1 Термин BIOS
* 2 BIOS материнской платы
* 2.1 Начальная загрузка компьютера
* 2.2 Инициализация и проверка работоспособности аппаратуры
* 2.3 Загрузка операционной системы
* 2.4 Утилиты, доступные без загрузки ОС
* 2.5 Примитивное API
* 2.6 Настройка оборудования с помощью меню
* 2.7 Лицензия на ПО
* 2.8 Производители
* 3 Примечания
* 4 Литература
* 5 Ссылки

## Термин BIOS

[править | править код]

В разделе не хватает ссылок на источники (см. рекомендации по поиску).

Информация должна быть проверяема, иначе она может быть удалена. Вы можете отредактировать статью, добавив ссылки на авторитетные источники в виде сносок. (14 ноября 2014)

|

Название «BIOS» появилось потому, что инженеры IBM рассматривали прошивку как своего рода ранний вариант уровня аппаратной абстракции, и включили в неё помимо программ проверки аппаратуры, инициализации шин и загрузчика ОС также набор низкоуровневых драйверов для устройств материнской платы (таких как контроллер клавиатуры и НГМД), а также некоторых подключаемых устройств, вроде графических адаптеров MDPA и CGA. Предполагалось, что разработчики периферийных устройств и карт расширения также будут включать драйвера своих устройств в поставляемые с ними ПЗУ и опубликуют их программные интерфейсы, так что программистам не нужно будет обращаться непосредственно «к железу». Однако эта идея оказалась лишь частично успешной: драйвера BIOS имели весьма ограниченную функциональность, были довольно медленными в работе и имели неудобный интерфейс, поэтому большинство программистов игнорировало их и обращалось непосредственно к аппаратуре. Достаточно распространёнными оказались лишь драйвера жёстких дисков и сетевых адаптеров, реализующие стандартные протоколы обмена ATA/SCSI и т.п.

Следует отметить, что несмотря на его широкое распространение, 100% корректно термин BIOS может употребляться только по отношению к устройствам, совместимым с персональными компьютерами фирмы IBM. Для устройств, построенных на базе иных архитектур, используются другие термины. Например, для компьютеров архитектуры SPARC набор микропрограмм может называться PROM или Boot. У ранних Apple Macintosh набор записанного в ПЗУ ПО назывался «Toolbox» и включал в себя большую часть операционной системы, а у компьютеров Amiga похожая прошивка называлась «Kickstart» и включала в себя помимо загрузчика также библиотеки GUI (Intuition), дисковую подсистему с интерфейсом командной строки (AmigaDOS) и микроядро ОС (Exec). Более того, хотя прошивки современных (начиная с конца 2000-х) материнских плат IBM PC-совместимых компьютеров и поддерживают стандарт BIOS, фактически они отвечают стандарту UEFI, и делают это в особом режиме совместимости.

## BIOS материнской платы

[править | править код]

Микросхема ПЗУ в DIP-корпусе, хранящая код BIOS фирмы Award[англ.]

Назначение BIOS:

* проверка работоспособности оборудования, в том числе обращение к S.M.A.R.T.➤;
* загрузка операционной системы (ОС)➤;
* предоставление API для работы с оборудованием➤;
* настройка оборудования.➤

### Начальная загрузка компьютера

[править | править код]

Основная статья: Начальная загрузка компьютера

После включения процессор читает код BIOS из ПЗУ, записывает его в ОЗУ (оперативную память) и передаёт управление коду BIOS.

Затем код BIOS[источник не указан 3302 дня]:

* выполняет тестирование оборудования компьютера (см. POST, англ. power-on self-test);
* читает настройки из энергонезависимого ПЗУ;
* применяет настройки;
* ищет и загружает в оперативную память код загрузчика;
* передаёт управление загрузчику.

Таким образом BIOS обеспечивает начальную загрузку.

В дальнейшем загрузчик ищет и загружает в память код операционной системы и передаёт ему управление.

BIOS реализует API для работы с внутренними и внешними устройствами компьютера. Загрузчик и сама ОС используют это API для работы с оборудованием до тех пор, пока не загрузят собственные драйверы.

В настоящее время компания Intel на новых материнских платах предлагает использовать extensible firmware interface (UEFI) вместо BIOS.

### Инициализация и проверка работоспособности аппаратуры

[править | править код]

Основная статья: POST (аппаратное обеспечение)

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

Сразу после включения питания компьютера процессор читает код BIOS из EEPROM, записывает код BIOS в память и передаёт ему управление. Первым делом код BIOS начинает проверку аппаратного обеспечения компьютера — POST (англ. power-on self-test). В ходе POST код BIOS проверяет работоспособность контроллеров, расположенных на материнской плате, задаёт низкоуровневые параметры их работы (например, частоту шины и параметры центрального микропроцессора, контроллера оперативной памяти, контроллеров FSB, AGP, PCI, USB).

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

См. также:

* POST (англ. power-on self-test);
* ESCD (англ. extended system configuration data).

### Загрузка операционной системы

[править | править код]

Если POST выполнен без ошибок, код BIOS начнёт поиск кода загрузчика ОС. Поиск выполняется на доступных и разрешённых в настройках носителях:

* в главной загрузочной записи (англ. master boot record, MBR) на встроенном носителе;
* на съёмных носителях;
* в сети с использованием технологии PXE (см. также «тонкий клиент»).

Код BIOS загрузит код загрузчика ОС в память и передаст ему управление.

Загрузчик ОС и сама ОС по ходу работы могут изменять большинство настроек, установленных кодом BIOS.

Некоторые реализации BIOS поддерживают загрузку через интерфейсы, изначально для этого не предназначенные (USB и IEEE 1394).

### Утилиты, доступные без загрузки ОС

[править | править код]

Старые компьютеры семейства IBM PC/XT не имели полноценной операционной системы (либо её загрузка не была необходима пользователю), вызывали встроенный интерпретатор языка BASIC (который выполнял роль простейшей ОС).

Некоторые BIOS предоставляют дополнительную функциональность[источник не указан 940 дней]:

* воспроизведение аудио-CD или DVD-дисков;
* обновление кода BIOS с внешних носителей;
* использование простых браузеров.

### Примитивное API

[править | править код]

IBM-совместимые компьютеры изначально конструировались так, чтобы предоставить возможность расширения. По этой причине работа с дисками и экраном выполнялась через функции BIOS — при появлении нового оборудования переписывается BIOS, а программы продолжают работать, как и раньше[4]. Ранее для этого использовались порты ввода-вывода и блоки памяти.

Код BIOS предоставляет несколько интерфейсов, упрощающих составление программ, — например, функции для работы с экраном в телетайпном режиме[4][5], функции для сканирования клавиатуры[4][6][7]. Эти API позволяют работать с оборудованием на низком уровне, поэтому в названии «BIOS» присутствует слово «базовый».

Функции BIOS используются простейшими ОС (такими, как DOS). Современные ОС, такие как Linux и Windows, пользуются функциями BIOS только в момент загрузки и в «аварийных» режимах — после загрузки они используют свои драйверы, а не BIOS.

С развитием компьютерных систем в коде BIOS продолжали использоваться устаревшие технологии: прежде всего «реальный режим» работы процессора.

Для замены BIOS рядом производителей вычислительных систем (Unified EFI Forum?!, UEFI) предложена и внедряется технология EFI.

### Настройка оборудования с помощью меню

[править | править код]

Чтобы позволить пользователям менять настройки оборудования, код BIOS, как правило, реализует экранное меню.

Меню BIOS фирмы Award[англ.]

Открыть меню BIOS (англ. BIOS setup) можно, если во время POST нажать определённую клавишу. Часто[источник не указан 940 дней] используются клавиши `Del`, `F2`, `F10`, `Esc` и `F8`.

Содержимое этого раздела нуждается в чистке.

Текст содержит много маловажных, неэнциклопедичных или устаревших подробностей, или не относящееся к теме статьи. Пожалуйста, улучшите статью в соответствии с правилами написания статей. (8 января 2023)

|

Некоторые возможности меню:

* настройка даты и времени для системных часов;
* настройка периферии, не приспособленной к работе в режиме «Plug and Play»: жёстких дисков, выпущенных в начале 1990-х годов и работающих в режиме адресации CHS; COM\- и LPT-портов;
* разгон и «антиразгон» аппаратуры;
* включение и выключение периферии, встроенной в материнскую плату: USB-, COM- и LPT-портов, встроенного видео-, сетевого или звукового адаптера;
* ускорение POST путём отключения некоторых тестов;
* активация обходных ветвей для известных ошибок ОС. Например, если Windows 95 отказывается загружаться на машине без флоппи-дисковода, BIOS может перенаправить векторы IRQ так, чтобы ОС поняла, что дисковода нет[8]. Если неудачно написанный драйвер не работает с жёсткими дисками, подключёнными через интерфейс SerialATA, BIOS может эмулировать интерфейс ATA;
* порядок носителей, с которых выполняется загрузка компьютера.

Меню для выбора носителя, на котором код BIOS будет искать код загрузчика

Сами состояния настроек не находятся непосредственно в микросхеме ПЗУ BIOS-а. Они записываются в энергонезависимое ОЗУ (NVRAM), физически находящееся в другой микросхеме (очень часто — в ячейках памяти южного моста). В выключенном состоянии компьютера питание ячеек NVRAM осуществляется от собственного источника, в качестве которого очень часто используются литиевые элементы CR2032 и подобные (одновременно использующиеся для резервного питания встроенных аппаратных системных часов). Настройки можно сбрасывать в заводское состояние программно (выбором пункта меню, нажатием клавиши во время POST) и аппаратно (переключением перемычки, нажатием специальной кнопки, снятием батарейки NVRAM).

Батарейка CR2032 фирмы Panasonic на материнской плате Фотография участка материнской платы «P4P800 SE» фирмы Asus. На фото видны: * батарейка CR2032 фирмы «KTS»; * микросхема ПЗУ, хранящая код BIOS фирмы American Megatrends (AMI); * перемычки для сброса настроек BIOS (надпись на плате — «CLRTC1»).

Информация о назначении пунктов меню BIOS и о сбросе настроек в первоначальное состояние указывается в инструкциях к материнским платам[9][10]. Инструкции поставляются в комплекте с материнскими платами и могут быть скачаны с сайта производителя платы.

### Лицензия на ПО

[править | править код]

Бывает, что лицензия на программное обеспечение привязана к аппаратуре, такое ПО традиционно дешевле обычного «коробочного». С выходом ОС Windows Vista производители компьютеров стали внедрять в BIOS таблицу SLIC («ACPI_SLIC table», SLIC — аббревиатура от англ. software licensing description table). В таблице SLIC хранится информация о лицензировании ПО. Таблица SLIC является первым из трёх компонентов, созданных для OEM-активации ОС Windows без доступа к сети Интернет.

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[источник не указан 940 дней]:

* American Megatrends, Inc. (AMI);
* Award Software[англ.];
* Phoenix Technologies[англ.].
* Microid Research

## Примечания

[править | править код]

1. ↑ BIOS definition and meaning (англ.). Collins English Dictionary. Дата обращения: 12 марта 2017. Архивировано 13 марта 2017 года.
2. ↑ Воройский Ф. С. Информатика. Энциклопедический систематизированный словарь-справочник. — М.: Физматлит, 2006. — С. 191. — 945 с.
3. ↑ Asustech PRIME Z590-P — материнская плата
4. ↑ 1 2 3 Norton, 1984.
5. ↑ Norton, 1985, p. 90,172−185.
6. ↑ Гук, 2006, с. 160—161.
7. ↑ Norton, 1985, p. 203−206.
8. ↑ Tech ARP — Report No FDD For Win95  (неопр.). Дата обращения: 5 января 2012. Архивировано 28 января 2012 года.
9. ↑ Глоссарий настроек Intel BIOS — по меню (недоступная ссылка) (англ.)
10. ↑ Глоссарий настроек 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.
* Михаил Гук. Глава 5. Организация ввода-вывода и BIOS // Аппаратные средства IBM PC. — 3-е. — СПб.: Питер, 2006. — С. 147−182. — 1072 с. — 5000 экз. — ISBN 5-469-01182-8.
* Нортон П. Программно-аппаратная организация компьютера IBM PC = Inside the IBM PC. Access to advanced features and programming. — Prentice-Hall Publishing Comp., 1984.
* Peter Norton. The Peter Norton Programmer's guide to the IBM PC. — Microsoft press, 1985. — ISBN 0-914845-46-2.

## Ссылки

[править | править код]

Аспекты операционных систем

* Сравнение[англ.]
* Доля использования[англ.]
* История

Типы|

* Встраиваемая
* Распределённая[англ.]
* ОС суперкомпьютера
* ОС реального времени
* Сетевая
* Мобильная

Ядро|

| Архитектура|

* Монолитное
* Гибридное
* Виртуальное[англ.]
* Rump kernel[англ.]
* Микро-
* Нано-
* Экзо-
* Уни-

|

Компоненты|

* Модуль ядра
* Драйвер
* Режим ядра
* Пользовательское пространство

Управление
процессами|

| Концепции|

* Многопоточность
* мультипрограммирование
* Многозадачность
* вытесняющая
* кооперативная
* Планировщик задач
* Переключение контекста
* Прерывание
* IPC
* PCB
* Система реального времени
* Поток выполнения
* Разделение времени

|

Алгоритмы
планирования|

* Упреждающее планирование с фиксированным приоритетом[англ.]
* Многоуровневые очереди с обратной связью[англ.]
* RR
* SJN
* SRT
* FIFO
* LIFO

Управление и
адресация памяти|

* Файл
* Отображение в память
* Файлы устройств
* Файловая система
* Атрибуты файлов
* Журналирование
* inode
* Общий ресурс
* Стек
* Куча
* Кэш
* Сжатие
* Шифрование
* Защита
* Кольца защиты
* Сегментная адресация
* Сегментация
* Дефрагментация
* Страничная память
* Подкачка страниц
* Виртуальная память
* Менеджер виртуальной памяти
* VFS
* Ошибка сегментации
* Ошибка на шине[англ.]
* Общая ошибка защиты[англ.]

Средства загрузки
и инициализации|

* BIOS
* EFI
* PXE
* MBR
* GPT
* Live CD
* Live USB
* Загрузчик ОС
* Подсистема инициализации

Прочее|

* Ввод-вывод
* Оболочка
* Интерпретатор командной строки
* API
* Системные вызовы
* Цикл событий
* Обмен сообщениями
* HAL
* Вычислительная сеть

Категория Викисклад Викиучебник Викисловарь
*[М.]: Москва
*[СПб.]: Санкт-Петербург