Тема №8. Базовая система  ввода/вывода.

Общее понятие о BIOS.

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

Первоначально она предназначалась для осуществления тестирования компьютера при включении – так называемых POST(Power On Self Test) или BIST(Built In Self Test)-процедур, и обеспечивания последующей загрузки ОС. Это справедливо для ПК семейств i8086, i8088 и для значительной части семейства 80286.

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

BIOS реализован в виде микросхемы, установленной на материнской плате компьютера. Заметим, что название ROM BIOS в настоящее время не совсем справедливо, ибо "ROM" предполагает использование постоянных запоминающих устройств (Read Only Memory), а для хранения кодов BIOS в настоящее время применяют в основном перепрограммируемые запоминающие устройства. Наиболее перспективной для хранения системы BIOS является флэш-память. Она позволяет модифицировать функции для поддержки новых устройств, подключаемых к компьютеру.

Система BIOS неразрывно связана с СMOS RAM (CMOS -- Complementary Metal Oxide Semiconductor). Это память, в которой хранится информация о текущих установках BIOS (время, количество памяти, типы жестких дисков и т.д.). В этой информации нуждаются программные модули системы BIOS. CMOS-память относительно энергонезависима так как имеет независимое питание - либо от аккумулятора, который расположен на системной плате, либо от батареи на корпусе системного блока.

Изменение установок в CMOS производится через программу SETUP. Чаще всего SETUP может быть вызван нажатием специальной комбинации клавиш (DEL, ESC, CTRL-ESC, или CRTL-ALT-ESC) во время начальной загрузки (некоторые BIOS позволяют запускать SETUP в любое время, нажимая CTRL-ALT-ESC).

Основными производителями BIOS являются фирмы AWARD и AMI.






POST.

При каждом включении питания компьютера типа IBM PC (или совместимого с ним) и до начала загрузки операционной системы процессор компьютера выполняет процедуру BIOS под названием "Самотест по включению питания" - POST (Power On Self Test). Эта же процедура выполняется также при нажатии на кнопку RESET или комбинацию клавиш Ctrl-Alt-Del. Основной целью процедуры POST является проверка базовых функций и подсистем компьютера (таких как память, процессор, материнская плата, видеоконтроллер, клавиатура, гибкий и жесткий диски и т. д.) перед загрузкой операционной системы. Это в некоторой степени застраховывает пользователя от попытки работать на неисправной системе, что могло бы привести, например, к разрушению пользовательских данных на HDD.

Перед началом каждого из тестов процедура POST генерирует так называемый POST код, который выводится по определенному адресу в пространстве адресов устройств ввода/вывода компьютера. В случае обнаружения неисправности в тестируемом устройстве процедура POST просто "зависает", а предварительно выведенный POST код однозначно определяет, на каком из тестов произошло "зависание". Таким образом, глубина и точность диагностики при помощи POST кодов полностью определяется глубиной и точностью тестов соответствующей процедуры POST BIOS'а компьютера. В большинстве случаев (можно сказать, стандартно) используется порт 80h для вывода POST-кодов. Так как процедура POST появилась еще в IBM PC/XT с восьмиразрядной системной шиной ISA, то исторически так сложилось, что POST коды представляют собой всего один байт, который приводится в таблицах POST кодов в виде одноразрядных шестнадцатиричных чисел в диапазоне 00h-FFh (0-255 в десятичной системе счисления). Рассмотрим типичную последовательность тестов, выполняемую процедурой POST:

  1. Тестирование процессора.
  2. Проверка контрольной суммы ROM BIOS.
  3. Проверка и инициализация контроллеров DMA, IRQ и таймера 8254. После этой стадии становится доступной звуковая диагностика.
  4. Проверка операций регенерации памяти.
  5. Тестирование первых 64 кБайт памяти.
  6. Загрузка векторов прерываний.
  7. Инициализация видеоконтроллера. После этого этапа диагностические сообщения выводятся на экран.
  8. Тестирование полного объема ОЗУ.
  9. Тестирование клавиатуры.
  10. Тестирование CMOS памяти.
  11. Инициализация COM и LPT портов.
  12. Инициализация и тест контроллера FDD.
  13. Инициализация и тест контроллера HDD.
  14. Поиск дополнительных модулей ROM BIOS и их инициализация.
  15. Вызов загрузчика операционной системы (INT 19h, Bootstrap), при невозможности загрузки операционной системы - попытка запуска ROM BASIC (INT 18h); при неудаче - останов системы (HALT).

При обнаружении неработоспособных схем программа POST выводит сообщение об ошибке и звуковые сигналы. Визуальные и звуковые сообщения показывают, какие схемы неисправны, но не показывают обычно истинных причин неисправности. Конечно, для продолжения работы неисправность необходимо устранить. Значение звуковых сигналов для каждого BIOS разной модели различны. Рассмотрим наиболее общие и часто встречающиеся:
Гудки Их назначение
Нет гудковПредполагается, что вы должны услышать хотя бы один гудок. Если же вы ничего не услышали, то проблема может заключаться в блоке питания, материнской плате или динамике
Непрерывный гудок или короткие, повторяющиеся гудки Неисправность блока питания
Один длинный, один короткий гудокНеисправность материнской платы
Один длинный, два коротких гудкаНеисправна видеокарта






Утилита Setup.

Установку конфигурации системы производят при помощи внутренней утилиты SETUP. Эта утилита позволяет не только установить типы используемых внешних устройств, такие как гибкие диски и винчестер, но и изменить более важные параметры системы. По этой причине работать с SETUP нужно осторожно и не изменять установки, которые вам неизвестны. В связи с большим количеством различных систем расписать все установки “от А до Я” не представляется возможным, поэтому остановимся на основных моментах работы с утилитой SETUP. Она, в зависимости от BIOS системы, запускается при нажатии одной или определенного сочетания клавиш на клавиатуре - обычно для запуска служит клавиша DEL.

Утилиты SETUP для разных поколений ПК и разных моделей BIOS имеют существенные различия как по внешнему оформлению, так и по своим возможностям. Рассмотрим наиболее общие и важные параметры и настройки утилиты на примере BIOS фирмы AWARD:

Управление утилитой Setup осуществляется с помощью стрелок (для перемещения по опциям) и клавишами PgUp и PgDown(для изменения параметров).