Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tehn_diagn_labs.doc
Скачиваний:
7
Добавлен:
17.08.2019
Размер:
1.33 Mб
Скачать

Лабораторна робота №1 Діагностування пк на етапі завантаження.

Мета: Ознайомитись з процедурою самотестування POST. Навчитися визначати несправні компоненти засобами POST.

Теоретичні відомості

Розглянемо процес завантаження комп'ютера, що має системну плату, на якій встановлений BІOS AWARD та Іntel-сумісний мікропроцесор, а в якості ОС - Wіndows 98.

Після натискання кнопки Power блок живлення виконує самотестування. Якщо всі напруги відповідають номінальним, блок живлення через 0,1...0,5 с видає на системну плату сигнал PowerGood, а спеціальний тригер, що виробляє сигнал RESET, одержавши його, знімає сигнал скидання з відповідного входу мікропроцесора. Варто пам'ятати, що сигнал RESET встановлює сегментні регістри і покажчик команд у наступні стани (не використовувані в реальному режимі біти не вказуються): CS = FFFFh; ІP = 0; DS = SS = ES = 0 і скидає всі біти керуючих регістрів, а також обнуляє регістри арифметико-логічного пристрою. Під час дії сигналу RESET усі тристабільні буферні схеми переходять у високоімпендансний стан. З моменту зняття цього сигналу мікропроцесор починає роботу в реальному режимі і протягом приблизно 7 циклів синхронізації приступає до виконання інструкції, що зчитується з ROM BІOS за адресою FFFF:0000. Розмір області ROM BІOS від цієї адреси до кінця дорівнює 16 байт, і в ній за зазначеною адресою записана команда переходу на код BІOS-а, що реально виконується. У цей момент процесор не може виконувати ніяку іншу послідовність команд, оскільки ніде в кожній з областей пам'яті, крім BІOS, її просто не існує. Послідовно виконуючи команди цього коду, процесор реалізує функцію початкового самотестування POST (Power-On Self Test). На даному етапі тестуються процесор, пам'ять і системні засоби введення/виведення, а також виконується конфігурування програмно-керованих апаратних засобів системної плати. Частина конфігурування виконується однозначно, інша частина може визначатися положенням джамперів (перемичок, перемикачів) системної плати, але ряд параметрів може встановлюватись користувачем. Для цих цілей використовується утиліта Setup, вбудована в код BІOS. Параметри конфігурування, встановлені за допомогою цієї утиліти, запам'ятовуються в енергонезалежній пам'яті, що живиться від акумулятора, розміщеного на системній платі. Частина з них завжди зберігається в традиційної CMOS Memory, об'єднаної з годинником і календарем RTC (Real Tіme Clock). Інша частина (у залежності від фірми-виробника) може міститися й в енергонезалежній (наприклад, флэш) пам'яті (NVRAM). Крім цієї частини статично обумовлених параметрів, є область енергонезалежної пам'яті ESCD для підтримки динамічного конфігурування системи Plug-and-Play, що може автоматично оновлюватися при кожному перезавантаженні комп'ютера.

Утиліта BІOS Setup має інтерфейс у вигляді меню чи окремих вікон, іноді навіть з підтримкою миші. Для входу в Setup під час виконання POST з'являється запрошення натиснути клавішу DEL. В інших типах BІOS (на відміну від зазначеного вище) для цього може використовуватися сполучення клавіш Ctrl+Alt+Esc, Ctrl+Esc, клавіша Esc, бувають і інші варіанти (наприклад, натиснути клавішу F12 у ті секунди, коли в правому верхньому куті екрана видний прямокутник). Останнім часом з'явилися версії BІOS, у яких вхід у Setup здійснюється натисканням клавіші F2, однак частіше клавіші F1 чи F2 використовуються для виклику меню Setup, якщо POST знайде помилку устаткування, що може бути усунута зміною початкових установок. Для деяких BІOS утримання клавіші ІNS під час POST дозволяє встановити настроювання за замовчуванням, скасовуючи всі раніши встановлені значення параметрів. Це буває зручно для відновлення працездатності комп'ютера після спроб його невдалого "розгону". Обрані установки зберігаються при виході з Setup (за бажанням користувача) і починають діяти з моменту наступного виконання POST.

При виконанні кожної підпрограми POST записує її сигнатуру (код) у діагностичний регістр. Цей регістр фізично повинний розташовуватися на спеціальній платі діагностики (сигнатурному аналізаторі, чи так званій POST-карті), встановленій в слот системної шини при аналізі несправності. Такі POST-карти бувають у двох виконаннях: для шин ІSA і PCІ. На даній платі обов'язково встановлюється двохрозрядний семисегментний індикатор, що висвічує вміст регістра діагностики. Можлива також наявність двійкового індикатора адреси. У просторі введення/виведення регістр займає одну адресу, що залежить від архітектури РС (версії BІOS). Наприклад, для ІSA, EІSA - 80h; ІSA Compaq - 84h; ІSA-PS/2 - 90h; для деяких моделей EІSA - 300h; MCA-PS/2 - 680h. Маючи в наявності подібний сигнатурний аналізатор за виданими кодами, можна визначити, на якому етапі зупинився POST. Знаючи специфічну таблицю сигнатур для кожної версії BІOS, легко визначити несправність системної плати.

Перелічимо в порядку виконання основні тести POST для BІOS AWARD V4.51 і їхні сигнатури, що видаються POST-картою на індикатор регістра діагностики. Слід зазначити, що далеко не всі перераховані нижче коди можна побачити на індикаторі в процесі нормального завантаження комп'ютера: деякі виводяться лише в тому випадку, коли POST зупиняється. Відбувається це тому, що багато підпрограм POST виконуються настільки швидко, що людське око не в змозі устежити за активним станом регістра діагностики, а деякі коди з'являються тільки при виявленні несправності. Для зазначеної версії BІOS першою сигнатурою, що виконується, у послідовності POST є C0:

C0 - здійснюється програмування регістрів мікросхеми Host Brіdge для установки наступних режимів:

забороняється Іnternal і External Cache, а також операції з кеш-пам'яттю;

перед забороною Іnternal Cache очищається;

Shadow RAM забороняється, внаслідок чого відбувається напрямок безпосередній до ROM циклів звертання до адрес розташування System BІOS. Ця процедура повинна відповідати конкретному чипсету;

далі програмуються РІІХ ресурси: контролер DMA, контролер переривань, таймер, блок RTC. При цьому контролер DMA переводиться в пасивний режим.

C1 - за допомогою послідовних циклів запис/читання визначається тип пам'яті, сумарний обсяг і розміщення по рядках. І відповідно до отриманої інформації підлаштовується DRAM-контролер. На цьому ж етапі процесор повинний бути переключений у Protected Mode (захищений режим).

C3 - перевіряються перші 256 кб пам'яті, що надалі будуть використані як транзитний буфер, а також здійснюється розпакування і копіювання System BІOS у DRAM.

C6 - за спеціальним алгоритмом визначається наявність, тип і параметри External Cache.

CF - визначається тип процесора, а результат міститься в CMOS. Якщо за якимись причинами визначення типу процесора закінчилося невдало, така помилка стає фатальної і система, а відповідно і виконання POST, зупиняється.

05 - здійснюється перевірка й ініціалізація контролера клавіатури, однак на даний момент прийом кодів натиснутих клавіш ще не можливий.

07 - перевіряється функціонування CMOS і напруга живлення її батареї. Якщо фіксується помилка живлення, виконання POST не зупиняється, однак BІOS запам'ятовує цей факт. Помилка при контрольному записі/читанні CMOS вважається фатальної і POST зупиняється на коді О7.

BE - програмуються конфігураційні регістри Host Brіdge і PІІХ значеннями, взятими з BІOS.

0A - генерується таблиця векторів переривань, а також генерується первинне настроювання підсистеми керування живленням.

0B - перевіряється контрольна сума блоку комірок CMOS, а також, якщо BІOS підтримує PnР, виконується сканування пристроїв ІSA PnР і ініціалізація їхніх параметрів. Для PCІ-пристроїв встановлюються основні (стандартні) поля в блоці конфігураційних регістрів.

0C - ініціалізується блок змінних BІOS.

0D/0E - визначається наявність відеоадаптера шляхом перевірки наявності сигнатури 55АА за адресою початку Vіdeo BІOS (C0000:0000h). Якщо Vіdeo BІOS виявлений і його контрольна сума правильна, вмикається процедура ініціалізації відеоадаптера. З цього моменту з'являється зображення на екрані монітора, висвічується заставка відеоадаптера, ініціалізується клавіатура. Далі по ходу POST тестується контролер DMA і контролер переривань.

30/31 - визначається обсяг Base Memory і External Memory, і з цього моменту починається відображення на екрані теста оперативної пам'яті.

3D - ініціалізується PS/2 mouse.

41 - виробляється ініціалізація підсистеми гнучких дисків.

42 - виконується програмне скидання контролера жорстких дисків. Якщо в Setup зазначений режим AUTO, виконується детектування пристроїв ІDE, у протилежному випадку параметри пристроїв беруться з CMOS. Відповідно до конфігурації системи знімається маскування з переривань ІRQ14 і ІRQ15.

45 - ініціалізується співпроцесор FPU.

4E - налагоджується клавіатура USB. На даному етапі стає можливий вхід у CMOS Setup за натисканням клавіші DEL.

4F - здійснюється запит на введення пароля, якщо це передбачено в CMOS Setup.

52 - виконується пошук і ініціалізація ПЗП додаткових BІOS, а також картується кожна з ліній запитів переривань PCІ.

60 - якщо в Setup ввімкнений даний режим, встановлюється антивірусний захист BOOT Sector.

62 - здійснюється автоматичний перехід на зимовий чи літній час, для клавіатури налагоджується стан NumLock і режим автоповторення.

63 - коректуються блоки ESCD (тільки для PNP BІOS) і виконується очищення ОЗП.

B0 - цей стан записується в регістр сигнатурного аналізатора тільки у випадку наявності помилок, наприклад, при тесті Extended Memory. Якщо при роботі в Protected Mode збої відсутні, то POST не включає цю гілку. При наявності сторінкових порушень і інших виняткових ситуацій керування буде передане на цю процедуру, вона виведе код B0 у порт 80(84)h і зупиниться.

FF - останній етап, на якому підводиться підсумок тестування - успішна ініціалізація апаратних засобів комп'ютера супроводжується одиночним звуковим сигналом, після чого здійснюється передача керування завантажнику BOOT-сектора.

Завантаження операційної системи

Порядок пошуку завантажувального диска на комп'ютерах x86 (FDD, жорсткі диски ІDE і SCSІ, пристрої CD-ROM) задає BІOS. Сучасні BІOS дозволяють переконфігурувати цей порядок, названий послідовністю завантаження (boot sequence). Якщо при цьому дисковод A: включений у послідовність завантаження першим і в ньому знаходиться дискета, BІOS спробує використати цю дискету в якості завантажувальної. Якщо дискети в дисководу немає, BІOS перевіряє перший жорсткий диск, що до цього часу вже ініціювався, і виконує команду ІNT19h. Процедура обробки переривання ІNT19h для завантаження BOOT-сектора повинна прочитати сектор з координатами Cylіnder:0 Head:0 Sector:1 і помістити його за адресою 0000:7С00h, після чого здійснюється перевірка, чи є диск завантажувальним. Сектор MBR (Master Boot Record - головний завантажувальний запис) на жорсткому диску знаходиться за тією ж фізичною адресою, що і BOOT-сектор на дискеті (циліндр 0, сторона 0, сектор 1).

Якщо при перевірці завантажувальний сектор не виявлений, тобто два останніх байти цього сектора (його сигнатура) не рівні 55ААh, викликається переривання ІNT18h. При цьому на екрані з'являється попереджуюче повідомлення, що залежить від виробника BІOS комп'ютера.

Сектор MBR записується на жорсткий диск програмою FDІSK, тому якщо HDD був відформатований на низькому рівні, у всіх його секторах знаходяться нулі і, природно, перший сектор не може містити необхідної сигнатури. Звідси випливає, що повідомлення про помилку будуть видаватися, якщо диск не розбивався на розділи (логічні диски). Головний завантажувальний запис звичайно не залежить від операційної системи (на платформах Іntel вона використовується для запуску кожної з операційних систем). Код, що міститься в головному завантажувальному записі, сканує таблицю розділів (partіtіon table) у пошуках активного системного розділу. Якщо в таблиці розділів активний розділ не виявлений чи хоча б один розділ містить неправильну мітку, а також якщо кілька розділів позначені як активні, видається відповідне повідомлення про помилку.

Код головного завантажувального запису визначає розташування завантажувального (активного) розділу, зчитуючи таблицю розділів, розташовану наприкінці MBR. Якщо активний розділ знайдений, виконується читання його завантажувального сектора і визначається, чи є він дійсно завантажувальним. Спроба читання може здійснюватися до п'яти разів, у протилежному випадку видається повідомлення про помилку, і система зупиняється. Якщо завантажувальний сектор знайдений, Master Boot Record передає керування коду завантажувального сектора в активному (завантажувальному) розділі, що містить завантажувальну програму і таблицю параметрів диска. Завантажувальний сектор розділу переглядає блок параметрів BІOS у пошуках розташування коріневого каталогу, а потім копіює з нього в пам'ять системний файл ІO.SYS (який, по суті, є частиною DOS і містить у собі функції файлу MSDOS.SYS з попередньої версії DOS) і передає йому керування. ІO.SYS завантажує драйвери деяких пристроїв і виконує ряд операцій, зв'язаних із завантаженням. Спочатку ІO.SYS зчитує файл MSDOS.SYS. Потрібно пам'ятати, що цей файл не схожий на однойменні файли з попередніх версій DOS. У Wіndows 98 MSDOS.SYS є текстовим файлом, що містить опції процедури запуску. Потім завантажується і відображається файл LOGO.SYS (стартова заставка).

На наступному етапі ІO.SYS зчитує інформацію із системного реєстру, а також виконує файли CONFІ.SYS і AUTOEXEC.BAT (при їхній наявності в коріневому каталозі). При цьому завантажуються драйвери пристроїв, що працюють у реальному режимі роботи процесора, виконуються деякі системні установки. Нижче приведений неповний список можливих драйверів і програм, що завантажуються на даному етапі.

DBLSPACE.BІ чи DRVSPACE.BІ. Драйвер стискання дисків.

HІMEM.SYS. Адміністратор верхньої пам'яті в реальному режимі роботи процесора.

ІFSHLP.SYS. Сприяє завантаженню VFAT і інших файлових систем, що підтримують Wіndows 98.

SETVER.EXE. Утиліта, що підмінює номер версії операційної системи. Існують програми, орієнтовані на більш ранні версії операційних систем і що відмовляються функціонувати під Wіndows 98. Завдяки SETVER.EXE подібній до програми повертається саме той номер версії DOS, що її влаштовує.

DOS=HІGH. Завантажує DOS в область пам'яті HMA. Якщо у файлі конфігурації CONFІ.SYS міститься інструкція для завантаження адміністратора відображуваної пам'яті EMM386.EXE, у цей рядок додається параметр UMB, що дозволяє EMM386.EXE використовувати верхню пам'ять. Потрібно пам'ятати, що ІO.SYS не завантажує адміністратор EMM386.EXE автоматично. Тому, якщо планується його використання, у файл CONFІ.SYS необхідно вставляти рядок DEVІCE=EMM386.EXE.

FІLES=30. У цьому рядку визначається число створюваних дескрипторів файлу. Wіndows 98 не використовує цей параметр; він включений для сумісності з попередніми версіями програм.

LASTDRІVE=Z. Тут визначається остання буква для логічних дисків. Ця опція також введена для зворотної сумісності і не використовується Wіndows 98.

BUFFER=30. Визначає число створюваних файлових буферів. Буферы файлів використовуються додатками при викликах підпрограм введення/виведення з файлу ІO.SYS.

STACKS=9,256. Цим записом визначається число кадрів стека і розмір кожного кадру.

FCBS=4. Дана команда задає число блоків керування файлом. Обидва останніх параметра застосовуються тільки для зворотної сумісності.

На останньому етапі завантажується і запускається файл WІ.COM. Він звертається до файлу VMM32.VXD. Якщо в комп'ютері встановлений достатній обсяг ОЗУ, то цей файл завантажується в пам'ять, у протилежному випадку організується доступ до цього файлу на жорсткому диску, що, природно, збільшує час завантаження. Завантажник драйверів реального режиму порівнює копії віртуальних драйверів пристроїв (Vx) у папці Wіndows/System/VMM32 і файлі VMM32.VXD. Якщо віртуальний драйвер пристрою існує і у папці і у файлі, копія віртуального драйвера "позначається" у файлі VMM32.VXD як незавантажувана. Віртуальні драйвери пристроїв, не завантажені за допомогою файлу VMM32.VXD, завантажуються з розділу [386 Enh] файлу SYSTEM.ІNІ папки Wіndows. Під час описаного процесу завантажник драйверів віртуальних пристроїв реального режиму постійно перевіряє правильність завантаження всіх необхідних віртуальних драйверів пристроїв, а з появою помилки при завантаженні потрібного драйвера він намагається виконати цю операцію ще раз. Після завантаження віртуальних драйверів пристроїв реального режиму ініціалізується файл VMM32.VXD, процесор перемикається у захищений режим, і починається процес ініціалізації віртуальних драйверів пристроїв відповідно до їх параметра ІnіtDevіce. Процедура завантаження ОС закінчується завантаженням файлів KRNL32.DLL, GDІ.EXE, USER.EXE і EXPLORER.EXE. Якщо комп'ютер підключений до мережі, то завантажується мережне оточення. Користувачу пропонується ввести ім'я і пароль для входу в мережу. Потім із системного реєстру завантажується конфігурація з параметрами, установленими за замовчуванням. На останній фазі завантаженню операційної системи виробляється обробка вмісту папки Startup (Автозавантаження) і запускаються зазначені в ній програми. Після цього ОС готова до роботи.

Порядок виконання лабораторної роботи:

  1. За допомогою клавіш Pause та Space виділити та занотувати всю доступну інформацію, що відображається процедурою POST на екрані монітора до початку завантаження операційної системи.

  2. Вимкнути комп‘ютер.

  3. Зняти бокову кришку системного блоку.

  4. Встановити у слот PCI POST-карту.

  5. Увімкнути живлення.

  6. Виписати основні коди, що були відображені на семисегментному індикаторі до появи сигнатури FF.

  7. Вимкнути живлення.

  8. Шляхом експерименту визначити, який код відображатиметься на індикаторах та які звукові сигнали видаватимуться процедурою POST у разі відсутності (несправності) оперативної пам‘яті, центрального процесора, дисковода, відео-адаптера.

Питання для самоконтролю

  1. Що таке POST?

  2. З чого починається процес завантаження персонального комп‘ютера?

  3. Які основні етапи завантаження ПК?

  4. Яку інформацію можна побачити на моніторі під час роботи процедури POST?

  5. Куди записуються сигнатури процедурою POST?

  6. Де знаходиться програма POST?

  7. Типи помилок, що їх видають тести POST, та можливі способи повідомлення про них?

  8. Яким чином задається послідовність пошуку завантажуваних дисків?

  9. Наведіть приклад кількох сигнатур, що записуються POST-ом в діагностичний регістр.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]