
- •Системне програмування
- •1. Головний завантажувальний запис диску Master Boot Record.
- •2. Таблиця розділів та логічні диски
- •3. Таблиця розміщення файлів (fat). Загальна схема використання fat
- •4. Файлова система iso9660.
- •5. Файлова система udf
- •6. Таблиця відкритих файлів (sft). Стандартні файлові маніпулятори та їх розташування в sft.
- •7. Таблиця файлів завдань jft та її зв’язок з таблицею відкритих файлів sft.
- •9. Файлова система ntfs
- •10. Використання api функцій для роботи з файлами
- •11. Методи налагоджування драйверів та механізм підготовки їх до виконання
- •12. Команда ініціалізації драйверу. Її зміст, призначення та місце розташування. Визначення адреси точки розриву.
- •13. Об’єкти і їх дескриптори в Windows
- •14. Процедура переривання драйвера, її функція. Таблиця переходів
- •16. Загальний зв’язний список драйверів. Правила для встановлення нового драйверу.
- •19. Процедура стратегії драйвера та її основна задача.
- •20. Заголовок запиту драйверу, його складові частини та їх призначення
- •22.Обслуговування пам’яті в dos
- •23. Буфер попередньої трансляції в сторінковій організації пам’яті
- •Привілеї сегмента задаються полем dpl байта управління доступом.
- •26.Глобальні, локальні таблиці дескрипторів та idt.
- •27. Перетворення логічної адреси на лінійну в реальному та захищеному режимах
- •29.Таблиця дескрипторів переривань (idt).
11. Методи налагоджування драйверів та механізм підготовки їх до виконання
Налагодження — це процес визначення й усунення причин помилок у програмному забезпеченні. У деяких проектах налагодження займає до 50 % загального часу розробки. Багато фахівців уважають налагодження найважчим аспектом програмування
Особливості налагодження драйверів
Драйвери досить складні для налагодження. На етапі ініціалізації драйвера (при виконанні команди ініціалізації) завантаження операційної системи ще не завершена, і скористатися звичайним отладчиком неможливо. Отладчик Turbo Debugger дозволяє вам налагоджувати драйвери в режимі віддаленої налагодження, але для цього буде потрібно другий комп'ютер.
Прикладна програма не викликає драйвер безпосередньо, а робить це через функції переривання MS-DOS, тому вам доведеться дуже довго "добиратися" до програми переривання драйвера. Найменші помилки в програмі ініціалізації можуть призвести до неможливості завершення завантаження операційної системи.
Програма стратегії зазвичай дуже проста і проблем не викликає.
Для налагодження обробника команди ініціалізації можна підготувати спеціальні функції, що відображають на екрані вміст найбільш важливих змінних і областей пам'яті. Такі ж функції можна використовувати і для налагодження обробників інших команд драйвера.
Як приклад наведемо текст функції ntrace, яка виводить на екран вміст всіх регістрів процесора. Після виведення виконання програми зупиняється до тих пір, поки користувач не натисне будь-яку клавішу.
Текст цієї функції слід помістити в ту частину драйвера, яка залишиться резидентної. У цьому випадку ви зможете викликати її не тільки при ініціалізації, але і при виконанні інших команд.
Вимоги, необхідні для підписування і підготовки пакетів драйверів
Для успішного виконання сценаріїв даного керівництва Вам необхідно мати:
--Клієнтський комп'ютер під керуванням 32-розрядної версії ОС Windows Vista. У цьому посібнику цей комп'ютер буде називатися DMI-Client1.
Важливо
64-розрядні версії ОС Windows Vista і Windows Server «Longhorn» мають особливі вимоги до цифрового підпису драйверів, що працюють у режимі ядра. Якщо Ви використовуєте 64-розрядну версію Windows, то для їх підписи Вам необхідно використовувати сертифікат видавця програмного забезпечення, випущені довіреною центром сертифікації. Для отримання додаткової інформації зверніться до розділу «Додаткові ресурси» даного керівництва.
--Апаратний пристрій і пакет драйвера для нього. Пакет драйвера не повинен бути присутнім на комп'ютері: він не повинен входити до складу набору драйверів, що поставляються з Windows, або розташовуватися в сховище драйверів комп'ютера DMI-Client1. Якщо раніше пристрій вже встановлювалося на комп'ютер, то, найімовірніше, пакет драйвера вже знаходиться в сховищі драйверів, тому його необхідно видалити звідти перед початком виконання дій, описаних у цьому посібнику. Якщо пакет драйвера не входить до складу набору драйверів, що поставляються з Windows, Ви можете видалити його стару копію і підготувати комп'ютер до початку роботи, виконавши кроки, описані в розділі «Видалення драйвера й пакета драйвера, встановлених на попередньому етапі» даного керівництва. В якості тестового екземпляра в цьому посібнику використовується пристрій «Toaster». Пакет драйвера цього пристрою входить до складу набору Windows Driver Kit. Якщо Ви вирішите використовувати яке-небудь інший пристрій, призначений для користувача інтерфейс може відрізнятися від інтерфейсу, описаними у цьому посібнику, і для роботи з пакетом драйвера цього пристрою Вам може знадобитися змінити або виконати деякі додаткові кроки.
--Доступ до захищеної адміністративної облікового запису на комп'ютері DMI-Client1. У цьому посібнику ця обліковий запис буде називатися TestAdmin. Обліковий запис з адміністративними повноваженнями потрібно для виконання більшості дій описаних у цьому посібнику. Виконання кожної дії припускає, що Ви працюєте на комп'ютері DMI-Client1 під цим обліковим записом, якщо не обмовляються інші умови.