Проверка ядра системы — это составная часть процедуры POST, которая, в свою очередь, является важнейшей операцией, выполняемой BIOS на этапе инициализации компьютера. Нетрудно понять, что если позволить системе начать работать при наличии неисправностей на системной плате, в модулях памяти или дисковой подсистеме, то это может привести к катастрофическим последствиям для данных, как загруженных в память, так и хранящихся на дисках. Проверка целостности системы производится с помощью серии специализированных подпрограмм самотестирования основных компонентов системной платы. Кроме того, на этом этапе производится поиск и идентификация других специализированных BIOS (контроллера накопителей, видеосистемы, контроллера SCSI и т.д.).
BIOS начинает работу с проверки устройств, смонтированных на системной плате: процессора и сопроцессора, микросхемы формирования синхросигналов (таймера), контроллера прямого доступа к памяти (DMA — Direct Memory Access) и контроллера прерываний (IRQ — Interrupt ReQuest). Если неисправность обнаруживается на этой ранней стадии выполнения проверок, то генерируется определенная последовательность звуковых сигналов (звуковой код ошибки). Звуковая сигнализация используется по той причине, что видеосистема на этом этапе еще не инициализирована. Зная фирму-разработчика BIOS, вы можете по звуковому коду определить характер обнаруженной неисправности. Подробные сведения о звуковых и иных диагностических кодах приведены в Книге 2.
На следующем этапе BIOS производит поиск ПЗУ видеосистемы в диапазоне адресов от C000:0000h до C780:0000h. Практически во всех системах этот поиск заканчивается обнаружением BIOS, записанной в смонтированной на плате видеоадаптера микросхеме ПЗУ (речь идет об отдельном адаптере, установленном в слот расширения). После обнаружения ПЗУ BIOS видеоадаптера выполняется тестирование его содержимого (проверка контрольных сумм). Если тест завершается успешно, то управление передается BIOS видеосистемы, которая инициализирует видеоадаптер. После завершения его инициализации на экране монитора появляется курсор, а управление возвращается системной BIOS. Если BIOS отдельного видеоадаптера не обнаруживается, то системная BIOS выполняет процедуру инициализации видеоконтроллера, смонтированного на системной плате, что также приводит к появлению курсора на экране монитора. После инициализации видеосистемы на экране монитора, как правило, появляется текст, в котором содержится информация о фирме-разработчике системной BIOS и BIOS видеосистемы, а также номера их версий. Если проверка контрольных сумм завершается неудачно, то на дисплей выводится сообщение об ошибке наподобие «С000 ROM Error» (Ошибка в ПЗУ по адресу С00О) или «Video ROM Error» (Ошибка в ПЗУ видеосистемы). В такой ситуации процесс инициализации, как правило, прекращается.
Если видеосистема готова к работе, то системная BIOS сканирует память в диапазоне адресов от C800:0000h до DF80:0000h (с шагом 2 Кбайт) в поисках ПЗУ, которые могут быть установлены на других платах адаптеров. При обнаружении таких микросхем прриз-водится проверка их контрольных сумм, и исполняются записанные в них программные инструкции. При этом на экран монитора выводится информация о фирме-разработчике BIOS адаптера и номер ее версии. В некоторых случаях записанные в дополнительных (установленных на платах адаптеров) ПЗУ программные инструкции могут подменять собой процедуры системой BIOS. Например, BIOS, встроенная в плату контроллера Ultra-DMA/133, заменяет собой процедуры управления накопителями, входящие в системную BIOS. Если проверка контрольных сумм какого-либо ПЗУ завершается неудачно, то на дисплей выводится сообщение об ошибке наподобие «ХХХХ ROM Error» (Ошибка в ПЗУ по адресу ХХХХ), где ХХХХ — сегментный адрес, по которому обнаружено неисправное ПЗУ. При обнаружении неисправного ПЗУ процесс инициализации системы, как правило, прекращается.