Программа по курсу: Практикум по программированию в ядре операционной системы windows icon

Программа по курсу: Практикум по программированию в ядре операционной системы windows



Смотрите также:
Лекция: Азы системы Windows...
Практикум по курсу операционные системы. Командный интерфейс unix. Содержание...
Книга представляет собой практическое руководство по созданию серверов Web в глобальной сети...
Сравнительная характеристика организации файлов в операционных системах Windows и Unix...
Администрирование новейшей операционной системы от корпорации Microsoft не сильно отличается от...
Знакомство с пк. Работа в среде операционной системы...
Вопросы к экзамену по предмету «Аппаратное обеспечение эвм»...
Файловая структура операционной системы...
Лекция 36. Установка и базовое конфигурирование dns сервера в операционной системе Microsoft...
Введение
Выбор операционной системы устройства ip set-Top Box для развертывания iptv...
Обещания и ожидания. Windows 7: Марк Михалко...



скачать


Министерство образования и науки Российской Федерации

Московский физико-технический институт

(государственный университет)


УТВЕРЖДАЮ

Проректор по учебной работе

__________ Ю. А Самарский

__________________ 2010 г.


ПРОГРАММА


по курсу: Практикум по программированию в ядре операционной системы WINDOWS (по выбору)

по направлению: 011600

факультеты: ФУПМ

кафедра: ИНФОРМАТИКИ

курс: 4

семестр: 7,8 Зачет дифф.

практические занятия: 66 часов


^ ВСЕГО ЧАСОВ: 66

Программу составил: ассистент А.В. Костюшко


Программа обсуждена

на заседании кафедры информатики

10 июня 2010 года


Заведующий кафедрой, И.Б. Петров

профессор

1. Обзор семейства ОС Windows NT и основные концепции.

История семейства Windows NT. Цели и принципы семейства Windows NT. Основные концепции: Native и Win32 API, режимы ядра и пользователя, процессы и потоки, объекты и описатели, сервисы и экспортируемые функции, виртуальная и физическая память, безопасность, реестр, Unicode.

2. Компонент ядра Windows – Object Manager

3. Синхронизационные примитивы Windows.

4. Планировщик потоков(нитей) в Windows. (Kernel Scheduler)

5. Ожидание на объектах ядра. Диспетчер объектов. (Kernel Dispatcher).

6. Краткий обзор защищенного режима процессоров x86 и AMD64.

7. Диспетчер ловушек (обработка исключений, прерываний и вызовов системных сервисов).

8. Механизм SEH.

9. Виртуальная и физическая память. Компоненты и сервисы диспетчера памяти. Системные пулы памяти. Структура линейного адресного пространства. Страничное преобразование. Обработка ошибок страниц.

10. Виртуальная и физическая память. Дескрипторы виртуальных адресов. Рабочие наборы. База данных PFN. MDL.

Секции.

11. Процессы, потоки, задания. Внутреннее устройство процесса. Внутреннее устройства потока. Объекты задания. Обзор недокументированных структур.

12. Архитектура ввода-вывода.

13. Менеджер кеша.

14. LPC, Security.

15. Реестр, сервисы, WMI.

16. Ключевые драйверы в режиме ядра. Ключевые компоненты режима пользователя. Обзор подсистем ядра. Общая архитектура. Загрузка системы. Bootloader и ntldr. Инициализация ядра и запуск smss. Crss и Win32k.sys. Winlogon и lsass.

17. Работа сети в ОС Windows.

18. Структура PE файла.

19. Программирование драйверов общего назначения. Скелет драйвера. DriverEntry, AddDevice. Драйвера и устройства.

20. Базовые техники программирования драйверов: обработка ошибок, работа с памятью, работа со строками, списки и макросы.

21. Использование объектов синхронизации в драйверах.

22. Работа с IRP, системными нитями и workitems.


Домашние задания и лабораторные работы.


Лабораторная работа 1. Цель работы: Изучение комплекса программного обеспечения для разработки системного программного обеспечения; VmWare + WinDbg + DDK. Настройка совместной работы гостевой ОС Windows внутри виртуальной машины VmWare и отладчика WinDbg. Компиляция, загрузка и выгрузка драйвера. Команды отладчика (часть 1).


Лабораторная работа 2. Цель работы: Работа с проектом драйвера. Отладка драйвера. Команды отладчика (часть 2).


Лабораторная работа 3. Цель работы: Изучение программного продукта IDA Pro (дизассемблер).


Домашнее задание 1. Написать драйвер klogger и драйвер, его тестирующий. Задача драйера klogger – обечпечить возможность писать записи в журнал (log) с любого уровня irql. Драйвер должен быть выгружаемым. Процедура записи в журнал должна автоматически добавлять время записи и преобразовывать формат перевода строк из ‘\n’ в ‘\n\r’. Тестирующий драйвер должен в течении минуты делать тестовые записи из отдельной нити на PASSIVE_LEVEL irql, из DPC процедуры (вызываемой периодически по таймеру) на уровне irql, выбираемого каждый раз случайно из диапазона от DISPATCH_LEVEL до HIGH_LEVEL. Тестовая запись в журнал должна содержать адрес и идентификатор текущей исполняемой нити и процесса. В процессе работы тестового драйвера файл журнала должен быть доступен по чтению для программ пользовательского режима (например notepad).

Реализовать один из вариантов улучшения драйвера kLogger.


Домашнее задание 2. Написать драйвер, использующий недокументированные возможности Windows. (задание для команды из 3х-4х студентов)


Домашнее задание 3. Исследовать небольшую часть одной из подсистем ядра Windows. Написать отчет-реферат. (задание для команды из 3х-4х студентов)


Домашнее задание 4. Написать драйвер, модифицирующий исследование поведение ОС Windows. (задание для команды из 3х-4х студентов)


^ СПИСОК ЛИТЕРАТУРЫ

[1] Д.Соломон, М.Руссинович. Внутреннее устройство Microsoft Windows 2000. Мастер-класс. – СПб.: Питер; М.: Издательско-торговый дом “Русская Редакция”, 2001.

[2] С. Шрайбер. Недокументированные возможности Windows 2000. Библиотека программиста. – СПб.:Питер, 2002.

[3] Г. Неббет. Справочник по базовым функциям API Windows NT/2000. – М.: Издательский дом “Вильямс”, 2002.

[4] Walter Oney. Programming the Microsoft Windows Driver Model. – Microsoft Press, 1999.

ЭЛЕКТРОННЫЕ МАТЕРИАЛЫ

[5] MSDN – интернет, http://msdn.microsoft.com/

[6] Слайды к лекциям Дэвида Проберта в Токийском университете (0-16. – интернет,
http://www.i.u-tokyo.ac.jp/ss/lecture/

[7] Driver Development Kit Reference. – электронная справка к программному продукту.





Скачать 47,72 Kb.
оставить комментарий
Дата10.03.2012
Размер47,72 Kb.
ТипПрограмма, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Документы

наверх