Министерство образования, здравоохранения и культуры
Республики Казахстан
ВУЗ АВИЭК
Кафедра ЭВМ
Краткий конспект лекций по дисциплине:
«Теория тестирования аппаратных и программных средств ПК системы IBMPC»
составитель:
ст. преподаватель кафедры ЭВМ КазНТУ
Купарова А.Т.
Алматы 2000 г.
Первоначальная загрузка
ПК загружает сначала небольшую программу, которая «вытягивает» за собой ОС. Цепочка событий начинается с включения питания и заканчивается небольшой программы-приложения. Каждое из событий в этой цепочке является следствием предыдущего и само инициирует последующее. Если хорошо представлять процесс загрузки системы, то можно быстрее определить причину неисправности по тому сообщению об ошибке, которое будет выведено на экран. Если какая-то программа выдаст такое сообщение, то можно быть уверенным в том, что эта программа была загружена, и, по крайней мере, частично выполнена. Зная в какой последовательности происходит запуск , можно судить о том, насколько далеко зашел этот процесс. Важно выяснить при обращении к каким файлам или областям диска произошел сбой. В процессе загрузки сообщения об ошибках могут быть выведены следующими программами:
- системой BIOS
- расширениями BIOS на платах адаптеров
- программой, записанной в MBR
- программой, записанной в загрузочном секторе DOS (VBS)
- системными файлами (IBMBIO.COM / IO.SYS и IBMDOS.COM / MSDOS.SYS)
- программами – драйверами через CONFIG.SYS или указанными в регистрационном файле WIN95 SYSTEM.DAT
- командным процессором DOS, который может не загружаться при использовании WIN95
- программами, указанными в AUTOEXEC.BAT (при использовании WIN95 может не загружаться
- программой WIN.COM.
При запуске происходит следующая последовательность событий:
- включение питания системы.
- самопроверка источника питания. Если все уровни напряжений и токов приемлемы, то на системную плату с БП подается сигнал POWERGOOD. Задержка выдачи этого сигнала лежит в пределах 0,1 – 0,5 сек.
- сигнал PG поступает на ИМС системного тактового генератора, который в результате прекращает вырабатывать сигнал сброса МП.
- МП начинает выполнять подпрограмму, хранящуюся в ПЗУ с известным начальным адресом. Поскольку указанная ячейка отстоит всего на 16 шагов от конца отведенного для ПЗУ адресного пространства, в ней содержатся инструкция перехода (jmp) на реальный начальный адрес системы BIOS.
- система BIOS выполняет тестирование основных компонентов ПК, проверяя их работоспособность. О любой ошибке сообщает только звуковым сигналом т.к. видеосистема ещё не активна.
- система BIOS выполняет сканирование пространства памяти в интервале адресов от С000:0000 до С780:0000 в поисках BIOS видеоплаты. Если ПЗУ видеоплаты найдено, то проверяется его контрольная сумма. Если проверка заканчивается успешно, то запускается программа, записанная в ПЗУ видеоплаты. Карта инициализируется и на экране появляется курсор. Если тест контрольной суммы не проходит, то появляется С000 ROMERROR
- если BIOS не находит ПЗУ видеоплаты, то для запуска видеосистемы используется драйвер, записанный в ПЗУ системы BIOS, но курсор не появляется.
- система BIOS сканирует ячейки памяти в диапазоне адресов от С800:0000 до DF80:0000 с шагом 2кв поисках других ПЗУ, расположенных на платах адаптеров. Если такие ПЗУ обнаружатся,, то проверяется их контрольная сумма и выполняется записанная в них программа. Программы BIOS, записанные в ПЗУ адаптеров, могут подменять собой программы системы BIOS либо загружаться в дополнение к ним.
- если тест контрольной суммы к.-л. из ПЗУ не проходит, то появляется сообщение ХХХХ ROMERROR. Код ХХХХ представляет собой сегментный адрес поврежденного ПЗУ.
- система BIOS проверяет значение слова в ячейке памяти 0000:0472на наличие флага «горячей» загрузки. Если значение этого слова 1234Н – «горячий» запуск и процедура тестирования в программе POST пропускается. Любое другое значение - «холодный» запуски процедура тестирования в программе POST выполняется в полном объеме.
- если запуск системы «холодный» - выполняется процедура POST. При обнаружении ошибок подается определенный звуковой сигнал и на экран выдается сообщение. После успешного завершения процедуры POST подается одиночный сигнал.
- система BIOS ищет VBS (цилиндр, головка, сектор – начального сектор диска) на диске А. Содержимое этого сектора загружается в область памяти с начальным адресом 0000:7С00 и подвергается проверке. Если в дисководе нет дискеты или она установлена, но не читается, то BIOS переходит к следующему этапу
- если значение первого байта VBS на диске А меньше чем 06h или оно больше или равно 06h, но при этом первые 9 слов одинаковые, то появляется сообщение об ошибке и система останавливается 602 – DISKETTEBOOTRECORDERROR
- если дискета была подготовлена программами format.com или sys.com, входящими в DOS 3.3 или меньше, но соответствующие системные файлы не являются первыми в каталоге выдается сообщение NONSYSTEMDISKORDISKERROR REPLACE AND STRIKE ANY KEY WHEN READY.
- если VBS поврежден, то вы увидите сообщение: DISKBOOTFAILURE.
- если дискета подготовлена программами format.com / sys.com из DOS 4.0 и выше, но системные файлы не являются первыми в каталоге или VBS поврежден, то появляется сообщение из п.14
- если VBS на диске А на не найден, то BIOS начинает поиск MBS на первом жестком диске (цил. - 0 гол - 0, сектор –1 - начальный сектор MBR) если MBS найден, то его содержимое загружается в область памяти с начальным адресом 0000:7С00 и подвергается проверке на предмет наличия специального ключевого кода – сигнатуры.
- если последние два байта сигнатуры MBS жесткого диска не равны 55ААh, то в большинстве систем формируется прерывание с номеров 18h. При этом в ПК PS/2 на экран выводится запрос на гибкий диск и нажатие клавиши F1 такого вида: NOBOOTDEVICEAVAILABLESTRIKEF1 TORETRYBOOT, F2 FORSETUPUTILITY.
- программа, записанная в MBS жесткого диска, разыскивает в своей таблице разбиения запись с системными индикаторными байтами, указывающими на наличие расширенного раздела. При наличии такой записи, она записывает содержимое загрузочного сектора расширенного раздела (содержимое этого сектора наз. Расширенной загрузочной записью EBR). Частью EBR также является таблица, в которой может содержаться указание на следующий расширенный раздел. Если такая запись найдена, то с указанного места на диске, считывается еще одна EBR. Поиск продолжается до тех пор, пока не будут исчерпаны все EBR или их количество достигнет максимального – 24.
- программа MBS пытается найти в своей таблице разбиения индикаторные байты загрузки, которыми помечаются активные разделы.
- в ПК от IBM если ни один из разделов не отмечен как активный, вызывается встроенный интерпретатор Бэйсика.
- если индикаторный байт загрузки в таблице разбиения MBS задан неверно или в качестве активных указано несколько разделов, то работа системы прекращается и на экране появляется: INVALIDPARTITIOMTABLE.
- если в MBS найдена запись об активном разделе , то загружается и проверяется содержимое его VBS.
- если VBS активного раздела не может быть правильно прочитан (5 попыток) из-за ошибок считывания, то работа системы прекращается и выдается сообщение: ERRORLOADINGOPERATINGSYSTEM.
- VBS активного раздела проверяется на наличие сигнатуры. Если последние два байта сектора не равны контрольному значению 55ААh, то работа системы прекращается и выдается сообщение: MISSINGOPERATINGSYSTEM.
- выполняется программа, записанная в VBS активного раздела. Она проверяет корневой каталог тома и выясняет являются ли файлы IBMBIO.COM , IBMDOS (IO.SYS, MSDOS.SYS) – первыми в этом каталоге. Если это так, то происходит их загрузка.
- так же как в п. 14
- так же как в п. 15
- так же как в п. 16
- если проблем не возникло, то программа, записанная в VBS, производит загрузку вышеупомянутых файлов или файла WINBOOT.SYS.
- программа инициализации, являющаяся частью IBMBIO.COM (IO.SYS), копирует себя в максимально удаленную не фрагментированную область памяти DOS и передает управление этой копии. Затем копия перемещает IBMDOS, заменяя при этом свой исходный код (часть кода IBMBIO), располагающийся в основной памяти, поскольку в это области он больше не нужен.WINBOOT.SYS сочетает в себе функции как IBMBIO.COM (IO.SYS) так и IBMDOS.COM(MSDOS.SYS)
- программа инициализации запускает программы-драйверы, определяет состояние аппаратной части, происходит сброс дисковой системы, сброс и запуск подключенных устройств и устанавливаются параметры системы по умолчанию.
- после того как DOS приведена в активное состояние управление возвращается программе-инициализации. IBMBIO.COM.
- IBMBIO или WINBOOT.SYSнесколько раз просматривают файл CONFIG.SYS и ищет регистрационный файл SYSTEM.DAT.
- в процессе первого просмотра CONFIG.SYS выполняются все операторы DEVICE по порядку, и загружаются указанные в них драйверы.
- в процессе второго просмотра выполняются операторы INSTALL,по порядку.
- при третьем просмотре выполняются операторы SHALL, в результате запускается указанный командный процессор. Если нет оператора, запускается КП по умолчанию, первый, встреченный в корне диска файл с указанным именем. При загрузке КП программа инициализации стирается из памяти т.к. ее миссия выполнена. В WINDOWS95 КП загружается если есть файл AUTOEXEC.BAT, т.к. только в этом случае могут быть выполнены команды ДОС.
- в процессе последнего просмотра исполняются в определенном порядке все остальные операторы. Поэтому порядок появления в файле CONFIG.SYS прочих операторов, кроме DEVICE, INSTALL, SHALL не имеет значения.
- если файл AUTOEXEC.BAT существует, то КП запускает его на выполнение. После выполнения команд появляется приглашение DOS если не вызвана программа - оболочка.
- если AUTOEXEC.BAT отсутствует, то КП выполняет встроенные команды DATE, TIME, выводит сообщение об авторских правах и появляется приглашение DOS. В WINDOWS 95 при выполнении программы WINBOOT.SYS автоматически загружаются драйверы HIMEM.SYS, IFSHLP.SYS, SETVER.EXE . последний запускает WIN.COM и начинается сеанс WINDOWS 95.
Во многих версиях DOS, которые размещаются на жестком диске, программа DIAGNOST может быть одним из файлов DOS. Собственно диагност.*** программа аналогична программе*** на на отдельном диске, а обращение к ней проводится как к обычной программе. Например, для применения встроенной в DOS диагност программе на жестком диске нужно загрузить DOS, а затем заставить ее выполнить программу DIAGNOST. После появления меню с программой можно работать так же, как с диагност. программой на программ* на отдельном диске.