Скачать 38.63 Kb.
|
Министерство образования и науки Российской Федерации Московский физико-технический институт (государственный университет) УТВЕРЖДАЮ Проректор по учебной работе __________ Ю.А. Самарский “_____” ____________ 2011 г. ПРОГРАММА по курсу: ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ В ЯДРЕ WINDOWS (базовый) по направлению: 010600 факультеты: ФУПМ кафедра: ИНФОРМАТИКИ курс: 5 семестр: 9 практические занятия: 34 часов зачёт дифф. ВСЕГО ЧАСОВ: 34 Программу составил: асс. А.В. Костюшко Программа обсуждена на заседании кафедры теоретической и прикладной информатики 11 мая 2011 г. Заведующий кафедрой, А.Г. Тормасов профессор Курсовая работа по программированию в ядре Windows. (5й курс, осень) 1a) Постановка задачи на драйвер kLogger. Базовая структура драйвера. Работа с файлами из режима ядра. Инициализация и выгрузка драйвера. Скелет драйвера. Работа с системными нитями. Работа с файлами из режима ядра. Работа с таймерами. Буфер обмена и техники синхронизации для kLogger. Реализация KeFlushQueuedDpc. Драйвер как dll. 1б) Постановка задачи на драйвер kMemViewer или kMemDumper. Базовая структура драйвера. Техники отображения памяти ядра в пользовательскую память и наоборот. Обработка исключений. BSOD Callbacks. 2) Постановки задач Cm/ObCallbacks и Barrier. 3+) Консультации Курсовая работа (вариант 1) Реализовать логгер работы с реестром или менеджером объектов через CmRegisterCallback или ObRegisterCallbacks), для систем Windows Vista и выше. Курсовая работа (вариант 2). Реализовать примитив синхронизации Barrier как объект Windows. Экспортировать интерфейс работы с Barrier для режима ядра (аналогичный существующим примитивам). Написать пользовательскую библиотеку (dll) экспортирующую Win32 интерфейс аналогичный существующим примитивам. Приложить тестовый драйвер и пользовательскую программу, использующие Barrier объект. Курсовая работа (вариант 3). Написать драйвер klogger и драйвер, его тестирующий. Задача драйера klogger - обечпечить возможность писать записи в журнал (log) с любого уровня irql. Драйвер должен быть выгружаемым. Процедура записи в журнал должна автоматически добавлять время записи и преобразовывать формат перевода строк из '\n' в '\n\r'. Тестирующий драйвер должен в течении минуты делать тестовые записи из отдельной нити на PASSIVE_LEVEL irql, из DPC процедуры (вызываемой периодически по таймеру) на уровне irql, выбираемого каждый раз случайно из диапазона от DISPATCH_LEVEL до HIGH_LEVEL. Тестовая запись в журнал должна содержать адрес и идентификатор текущей исполняемой нити и процесса. В процессе работы тестового драйвера файл журнала должен быть доступен по чтению для программ пользовательского режима (например notepad). Курсовая работа (вариант 4). kMemViewer/Dumper. Самостоятельная работа по курсу: Самостоятельная работа по курсу за год состоит из двух задач и курсовой работы (семестр). Тема курсовой работы дается по усмотрению преподавателя (с учетом пожеланий студентов, которые могут предлагать свои темы), результат реализации должен включать взаимодействие с пользователем (управляющую и/или тестовую утилиту). Курсовая работа может выполняться коллективно (2-3 чел). Размер курсовой – не менее 500 строк на С, написанных одним человеком. Требования к оформлению: Текст программы должен быть оформлен профессиональным образом. Отдельно должен быть предоставлен файл (файлы) с текстом решения задачи, тестом на нее (если нужен) и вставляемые файлы заголовков. То есть решение задачи состоит из не менее чем 2 файлов (.h .с), чаще 3 (включая тест). Запрещается вставка одного .с файла в другой. Комментарии в тексте программы: обязаны присутствовать в файлах в начале, должны быть отдельно написаны к каждой функции, и в коде по тексту (в среднем, каждая третья строка должна содержать комментарий); текст должен выглядеть красиво (отступы и т.д. должны быть оформлены нормально, не должно использоваться более 132 символов в строке), программа не должна иметь неиспользуемых или ненужных кусков (закомментированных). Примером оформления являются samples приложенные к соответствующим дистрибутивам компиляторов (примеры DDK Windows). Обязательно: Необходимо проверять все параметры функций, используя assert() или аналоги. Необходимо проверять все коды возврата функций (особенно системных вызовов). Поддержка многоядерности и многопоточности. ЛИТЕРАТУРА [1] Д.Соломон, М.Руссинович. Внутреннее устройство Microsoft Windows 2000. Мастер-класс. - СПб.: Питер; М.: Издательско-торговый дом "Русская Редакция", 2001. [2] Walter Oney. Programming the Microsoft Windows Driver Model. - Microsoft Press, 1999. ЭЛЕКТРОННЫЕ МАТЕРИАЛЫ [3] Г. Неббет. Справочник по базовым функциям API Windows NT/2000. - М.: Издательский дом "Вильямс", 2002. [4] IDA Pro Book [5] Driver Development Kit Reference. - электронная справка к программному продукту. [6] MSDN - http://msdn.microsoft.com [7] Документация по процессорам семейств IA-32 и IA-64 |
Программа по курсу: программирование в ядре Инструментарий разработчика режима ядра и его настройка. Программный пакет driver development kit (ddk), отладчик ядра WinDbg, виртуальная... |
Программа по курсу: Практикум по технологиям производства по (базовый) Рефакторинг. Простейшие оптимизации: накладные расходы на виртуальные методы и абстрактные классы |
||
Рабочая программа II вида По курсу «практикум по математике» ... |
Практикум по спортивной психологии Санкт-Петербург ... |
||
Методические рекомендации к выполнению работ по курсу “Биофизический практикум” Московский ордена Трудового Красного Знамени инженерно-физический институт (государственный университет) Министерства высшего и профессионального... |
Рабочая программа дисциплины Практикум по орфографии и пунктуации... Целями освоения дисциплины «Практикум по орфографии и пунктуации» являются систематизирование знаний студентов об орфографических... |
||
Рабочая программа дисциплины Практикум по орфографии и пунктуации... Целями освоения дисциплины «Практикум по орфографии и пунктуации» являются систематизирование знаний студентов об орфографических... |
Практикум по когнитивной терапии М15 Практикум по когнитивной терапии: Пер с англ. — Спб.: Речь, 2001. — 560 с. Isbn 5-9268-0036-6 |
||
Практикум л. И. Губарева о. М. Мизирева т. М. Чурилова экология человека... Учебное пособие предназначено для студентов высших учебных заведений, оно может быть использовано также преподавателями вузов, учителями... |
Рабочая программа по дисциплине дс. Ф. 8 Тренажерный практикум по... ДС. Ф. 8 Тренажерный практикум по эксплуатации судовых дизельных энергетических установок |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |