Підсистеми ядра ОС.

Матеріал з Wiki TNEU
Версія від 22:53, 20 вересня 2012; Donserg (Обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

но розповсюджуваного пакета «Debugging Tools for Windows». Засоби включають графічний і консольний налагоджувачі Windbg і KD відповідно (далі Windows Debugger). Робота цих налагоджувачів спирається на механізми, передбачені розробниками операційної системи й закладені в її ядрі [4].

Основним режимом для Windows Debugger є режим інтерпретатора команд. Завдяки модульній структурі, поряд з командами, що поставляються розробниками, Windows Debugger підтримує сторонні модулі, які називаються розширеннями. У дійсності більшість вбудованих команд також оформлена у вигляді розширень.

Windows Debugger орієнтований на віддалене інтерактивне й аварійне налагодження, при використанні яких розкриваються всі його можливості. У цей же час повноцінне локальне інтерактивне налагодження не підтримується: налагоджувач дозволяє тільки переглядати деякі структури ядра.

Існує модуль розширення для Windows Debugger за назвою LiveKD, створений Марком Руссіновичем, який у деякому розумінні реалізує локальне інтерактивне налагодження. LiveKD на ходу створює дамп пам'яті робочої системи й використовує його для налагодження [5].

Налагоджувач Windows Debugger використовує налагоджувальне ядро Microsoft Debugger Engine, яке надає можливість маніпулювати налагоджуваною системою [6]. У спілці Microsoft CodePlex розміщений проект керованої бібліотеки для взаємодії з Microsoft Debugger Engine API [7]. Його автором є Nicolae Mogoreanu. У межах проекту надається два набори класів: першим буде легко користуватися людям, знайомим з Debugger Engine API, другий більше відповідає стилю .NET. Бібліотека дає можливість витягувати інформацію з дампів пам'яті та з пам'яті виконуваного додатка. Проте цей проект не дозволяє виконувати налагодження режима ядра, оскільки орієнтований на налагодження додатків режиму користувача.

Пакет інструментів «Debugging Tools for Windows» регулярно оновлюється й підтримує всі сучасні операційний системи Windows.

Налагоджувач ядра SoftICE, що випускався компанією Compuware у пакеті програм DriverStudio, традиційно виступав альтернативою пакету «Debugging Tools for Windows». Характерною рисою SoftICE була реалізація локального інтерактивного налагодження на підтримуваному апаратному забезпеченні. Налагоджувач практично повністю міг контролювати роботу операційної системи.

З 3 квітня 2006 року продаж продуктів сімейства «DriverStudio» було припинена через «безліч технічних і ділових проблем, а також загального стану ринку». Останньою версією операційної системи, підтримка якої була реалізована, є Windows XP Service Pack 2. Як правило, пакети сервісних оновлень не змінюють прикладний інтерфейс операційної системи, але номера системних викликів і інша недокументована інформація може зазнавати змін. Налагоджувач SoftICE спирався на жорстко прописані адреси внутрішніх структур даних. Як наслідок — з виходом Service Pack 3 сумісність була порушена. Очевидно, що більш пізні версії операційної системи Windows також не підтримуються.

Syser Kernel Debugger створений невеликою китайською компанією Sysersoft як заміна налагоджувача SoftICE. Перша фінальна версія була випущена в 2007 році. Як і SoftICE, Syser Kernel Debugger здатний виконувати інтерактивне налагодження на працюючій системі. Підтримуваними є тільки 32-розрядні редакції сучасних версій Windows [8].

Компанія Breakpoints Live спеціалізується на рішеннях в області налагодження додатків, як режиму користувача, так і режиму ядра. Інтерактивний налагоджувач DebugLive Debugger, який компанія пропонує, має веб-орієнтований дружній інтерфейс, який повинен знизити поріг входження та полегшити процес налагодження [9]. Налагоджувач не реалізує власний налагоджувальний стек, а використовує налагоджувальне ядро Microsoft Debugger Engine.

Дмитро Востоков, сертифікований технічний спеціаліст Microsoft, з 2003 року працюючий у компанії Citrix, давно займається дослідженнями особливостей налагодження режиму ядра та є автором декількох книг за цією тематикою [10].

На даний момент Windows Debugger є основним інструментом серед розроблювачів модулів ядра. Його також використовує команда розроблювачів ядра операційної системи Windows.

Як показав пошук, в Україні практично немає дослідників, які займаються питаннями налагодження ядра операційної системи Windows. Що до Донецького національного технічного університету, ряд авторів у своїх статтях торкались тем, пов'язаних з режимом ядра.

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти