Программу BIOS Setup (CMOS Setup) многие называют просто BIOS, что не только неверно как в техническом, так и в историческом плане, но и даже не может быть использовано в качестве сокращения, так как BIOS — Basic Input/Output System — переводится с английского как базовая система ввода-вывода и является иным понятием. Вопреки распространенному заблуждению BIOS и BIOS Setup появились не одновременно с IBM PC. Первая была создана раньше первого персонального компьютера IBM, а вторая — позже.

Как известно, любая вычислительная система состоит из аппаратного и программного обеспечения. И BIOS, и BIOS Setup, безусловно, относятся к ПО, но к такому, которое ближе всего к «железу». BIOS обязательно включает в себя драйверы стандартного набора устройств, позволяющие прикладным программам единообразно обращаться к ресурсам компьютеров с различной аппаратной конфигурацией, и программу «инициализации», призванную оживить машину после включения. Благодаря драйверам прикладным программам не приходилось «задумываться» о том, что именно выполняет, скажем, опрос клавиатуры — центральный процессор (например, в компьютерах ZX Spectrum, «Радио РК-86») или специализированный контроллер (в частности, в IBM PC), или о том, каков тип контроллера дисплея или дисковода. А программа «инициализации» приводила в исходное состояние набор констант драйверов, а также в зависимости от конфигурации ПК загружала подходящие операционную систему (IBM PC XT, IBM PC AT), интерпретатор языка программирования, дополненный набором команд управления обменом с магнитофоном (ZX Spectrum, IBM PC), или системный монитор, обеспечивающий самый минимум пользовательских функций («Радио РК-86»).

Одна из первых ОС для 8-разрядных персональных компьютеров CP/M-80 состояла из трех частей: BIOS, обеспечивающей ввод с клавиатуры, вывод на экран и чтение-запись сектора 8- или 5-дюймовой дискеты; BDOS — ядра ОС, поддерживающего файловые функции; CCP — процессора консольных команд, позволяющего пользователю управлять компьютером с помощью командной строки. Первым персональным компьютером с открытой архитектурой стал IBM PC. Более того, разработчики, стремясь увеличить популярность «персоналки», тщательно документировали как BIOS, так и аппаратную конфигурацию, вследствие чего значение драйверов BIOS существенно уменьшилось. Когда распределение адресов портов стало фиксированным, определились типы контроллера дисплея и клавиатуры, а структура видеопамяти была стандартизирована, то обращение прикладных программ к ресурсам компьютера через BIOS оказалось необязательным. Например, аккуратно введенная компанией IBM в BIOS функция рисования точки использовалась настолько редко, что в разработанном позднее расширении VideoBIOS (VESA) ее поддержка вообще была объявлена необязательной.

Иногда BIOS называют операционной системой, что также неверно. Ее основная задача заключается в том, чтобы дать возможность прикладным программам абстрагироваться от аппаратных особенностей конкретного компьютера, например от типа жесткого диска. Цель же ОС — «отойти» от низкоуровневого распределения ресурсов, например дискового пространства. BIOS современных компьютеров записана во флэш-память — разновидность перепрограммируемого ПЗУ, но скорость доступа к такой памяти низка, и потому для ускорения работы, как правило, производится перезапись содержимого флэш в оперативную память.

Загрузка ОС начинается в реальном (16-разрядном) режиме, на работу в котором настроено и большинство драйверов BIOS, именно через BIOS работает, в частности, MS DOS. Но большинство операционных систем функционируют в защищенном режиме, и поэтому они обычно вообще отключают драйверы BIOS и используют собственные драйверы защищенного режима, чему способствует также и стандартизация аппаратной части IBM PC-совместимого компьютера.

Сейчас интерпретатор Бейсика или монитор консольных команд в микросхеме ROM BIOS уже не размещают, но теперь там присутствуют другие программы, например POST и BIOS Setup. Программа тестирования работоспособности аппаратуры компьютера POST (Power On Self Test) начинает действовать сразу же после включения питания и до загрузки ОС. Такая процедура весьма актуальна для компьютера с открытой архитектурой. В случае возникновения неисправности пользователю каким-либо способом выдается сообщение: надписью на экране, гудками из динамика, цифрами на специальном табло или даже человеческим голосом, заранее записанным в микросхему flash-памяти.

Программа BIOS Setup появилась не сразу. Собственно, компьютер с открытой архитектурой не может обойтись без функции настройки набора драйверов на имеющуюся аппаратуру. В IBM PC и IBM PC XT, строго говоря, BIOS Setup также была, но... в аппаратном виде, а именно в виде набора dip-переключателей, с помощью которых устанавливались объем оперативной памяти, типы дисководов и жестких дисков, наличие математического сопроцессора и др. В IBM PC AT (286) было введено новшество — встроена микросхема, выполненная по технологии КМОП (CMOS), питавшаяся от батарейки. Ее функциональную основу составляли часы-календарь, так что при перезагрузке ПК больше не требовалось каждый раз вводить дату и время. Кроме того, микросхема содержала несколько десятков однобайтовых ячеек памяти, которые было решено использовать вместо dip-переключателей для хранения сведений об особенностях аппаратной конфигурации.

Считывать информацию из этих ячеек, как и с dip-переключателей, могла, естественно, сама BIOS, а вот для записи понадобилась специальная утилита, и ее назвали BIOS Setup. Первоначально эти утилиты поставлялись на дискете с каждым компьютером так же, как сейчас почти все драйверы даются на CD-ROM. Но поскольку производители использовали отдельные ячейки в различных целях, программа для одного компьютера могла «испортить» установки другого. А порой невозможно было загрузить программу с дискового накопителя, если последний становился недоступен вследствие порчи содержимого ячейки с данными о нем, скажем, из-за выхода батарейки из строя. Поэтому на модели AT386 и поздних AT286 стали располагать BIOS Setup уже в той же микросхеме, что и саму BIOS. Чтобы запустить эту программу, нужно было нажать определенную комбинацию клавиш (обычно клавишу ) после прохождения POST, а в эпоху безраздельного господства текстового режима — нередко и в любое другое время. Если же в машине установлены RAID- или SCSI-контроллеры, то они, как правило, содержат собственные утилиты конфигурации RAID Setup или SCSI Setup, также вызываемые в процессе загрузки компьютера определенной комбинацией клавиш.

Число ячеек КМОП-памяти не может превышать 114, так как на номер отводится 7 бит, а первые 14 адресов заняты часами. Значит, если программе BIOS Setup требуется хранить большее количество информации, часть сведений может размещаться во flash-памяти. А вот количество установок, которые нужно сохранять, увеличилось по сравнению со временем появления первых программ BIOS Setup в несколько раз. Теперь эта программа должна помочь решить несколько задач: настроить установки в соответствии с имеющейся аппаратной конфигурацией, добиться максимальных производительности и устойчивости системы, получить информацию о состоянии последней, а также обеспечить защиту паролем.

Продолжение в следующем номере.


Parhaat 15-vuotisonnittelut PC World Russialle!

Kari Tyllila, MikroPC Suomi — Finland

Примите наилучшие пожелания с 15-летием «Мира ПК»!

Kari Tyllila, MikroPC Финляндия


Содержимое ячеек CMOS (КМОП)

Номер ячейкиСодержимое ячейки
00hТекущее время - секунды
01hБудильник - секунды
02hТекущее время - минуты
03hБудильник - минуты
04hТекущее время - часы
05hБудильник - часы
06hТекущий день недели
07hТекущая дата
08hТекущий месяц
09hТекущий год
0Ah-0DhРегистры состояния
0EhБайт диагностики состояния
0FhБайт статуса выключения
10hТип дисководов
11h Зарезервировано
12hТип жестких дисков (если до 15)
13hЗарезервировано
14hБайт оборудования
15h-16hОбъем оперативной памяти (нижней)
17h-18hОбъем памяти выше 1 Мбайт
19hТип диска C (если больше 15)
1AhТип диска D (если больше 15)
1Bh-2DhЗарезервировано
2Eh-2FhКонтрольная сумма ячеек с 10h по 20h
30h-31hОбъем памяти выше 1 Мбайт ("зеркало" ячеек 17h - 18h)
32hТекущий век
33hСмешанная информация
34h-3FhЗарезервировано
40-7FhПроизводитель может использовать на свое усмотрение
4672