Глава 2 Процессы, происходящие при включении компьютера
Глава 2 Процессы, происходящие при включении компьютера
Любой пользователь на этот вопрос ответит: «Компьютер тестирует память, находит подключенные жесткие диски и загружает операционную систему». Это верный ответ. Но отражает ли он действительную ситуацию? Процесс загрузки по своей структуре довольно сложен. Представлять последовательность событий иногда очень полезно, например, при диагностике неисправностей.
В первую очередь электроника блока питания проходит процесс самотестирования, а уже затем на внутренние компоненты компьютера подается напряжение питания. Это происходит менее чем 0,1–0,5 секунды. По окончании тестов на центральный процессор поступает сигнал RESET. Тот самый, который и вы можете вызвать нажатием кнопки RESET, расположенной на системном блоке. Блок питания, не прошедший самотестирования, не включается, и компьютер, естественно, не начнет свою работу. Делается это для уменьшения вероятности повреждения электроники, а в качестве управляющего сигнала используется специальный сигнал, именуемый как "Power Good" ("хорошее напряжение").
В итоге центральный процессор готов к выполнению программы. Но на данном этапе доступна всего одна программа – некий стартовый блок, записанный в микросхеме постоянной памяти, установленной на материнской плате, являющейся, как все мы знаем, самой главной платой. Благодаря работе этого самого стартового блока появляется возможность запуска других программ, а в итоге и операционной системы.
Сначала осуществляется проверка состояния центрального процессора, его рабочих характеристик. В частности, проверяется напряжение питания, температура, частота системной шины, множитель и т. п. параметры. Если они не соответствуют параметрам, заданным производителем для данной модели процессора, то компьютер может и не включиться, хотя встречаются и исключения. Проверка осуществляется выполнением простейших вычислений, по результатам которых можно определить исправность процессора.
Следующий этап – проверка содержимого микросхемы постоянной памяти, которая является хранилищем не только стартового блока, но и всех остальных подпрограмм, необходимых для осуществления дальнейшей инициализации оборудования, да и для загрузки операционной системы тоже. Обратите внимание, что ошибки в микросхеме ПЗУ могут повлечь за собой невозможность старта компьютера, особенно если речь идет о стартовом блоке. Вот такова зависимость аппаратного обеспечения от программного обеспечения.
Как только система убеждается в целостности программ, записанных в микросхеме постоянной памяти, она начинает последовательно их запускать.
Разработчики х86-х платформ в свое время предусмотрительно встроили в базовую систему ввода-вывода (BIOS) различные процедуры диагностики неисправностей. Весь комплекс по инициализации компонентов ПК и их проверке носит обобщающее название POST (Power-On Self Test, что в вольном переводе обозначает "Самотестирование по Включению Питания").
Перед началом каждой операции POST генерирует специальный код, размером в один байт (от 00h до FFh), называемый POST-кодом, и записывает значение в диагностический порт с адресом 80h, который используется для этих целей еще со времен самого первого компьютера IBM PC. В случае возникновения неисправности процесс диагностики просто останавливается ("зависает"), а POST-код, заранее выведенный на указанный порт, однозначно определяет операцию, при которой возникла неполадка.
Единственный минус подобной системы – таблицы POST-кодов для BIOS разных производителей различны, а в связи с постоянным появлением новых устройств, что приводит к необходимости внесения изменений в соответствующие спецификации, даже у одного производителя для разных моделей устройств могут использоваться не одинаковые таблицы диагностических кодов. Это несколько путает пользователя и мешает достоверно судить об источнике неполадки. Ориентироваться в таком случае приходится на оригинальные разработки, например, компании AWARD (точнее Phoenix под упомянутой торговой маркой). Остается только надеяться, что производители будут упоминать о внесенных изменениях в руководствах по установке материнских плат. В главе 15 приведены POST-коды AVARD BIOS.
Мониторинг старта осуществляется с помощью специальных плат – контроллеров состояния порта 0080h. Так называемые POST-платы предназначены для захвата диагностических кодов и наглядного их отображения на цифровом индикаторе, что позволяет выполнять раннюю диагностику до запуска операционной системы (рис. 2.1).
Рис. 2.1. Внешний вид POST-платы
В некоторых компьютерных системах для диагностических целей используется порт с номером, отличным от 0080h. Так, в системных платах с архитектурой EISA для диагностических целей используется порт 0300h. В последнее время производители серьезнее стали относиться к идее всеобщей стандартизации, так что особых проблем вы не будете испытывать, ведь старые компьютеры встречаются все реже и реже.
Существуют три основных типа POST-плат:
• "натуральные" POST-платы, отображающие ту информацию, к которой им удается получить доступ. При помощи таких плат определяют узел, в котором произошел сбой (например, если это подсистема оперативной памяти, то следует поменять модуль памяти, используемый слот и т. п.);
• платы, способные эмулировать часть функций любого узла материнской платы (например, PHD PCI). Такие платы позволяют получить более подробную информацию о состоянии компонентов ПК, временно обойтись без видеоконтроллера, произвести полную проверку накопителей и т. д.;
• платы, требующие для своей работы установки вместо BIOS материнской платы, точнее вместо микросхемы, другой микросхемы, содержащей диагностические программы. Например, таким образом работает технология Lite BIOS. Индикация процесса диагностики, как правило, осуществляется на обычной POST-плате. Коды, естественно, будут характерные для применяемой технологии.Данный текст является ознакомительным фрагментом.