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




Скачать 38.63 Kb.
НазваниеПрограмма по курсу: практикум по программированию в ядре
Дата публикации14.06.2014
Размер38.63 Kb.
ТипПрограмма
literature-edu.ru > Курсовая работа > Программа
Министерство образования и науки Российской Федерации

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

(государственный университет)
УТВЕРЖДАЮ

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

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

“_____” ____________ 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

Добавить документ в свой блог или на сайт

Похожие:

Программа по курсу: практикум по программированию в ядре iconПрограмма по курсу: программирование в ядре
Инструментарий разработчика режима ядра и его настройка. Программный пакет driver development kit (ddk), отладчик ядра WinDbg, виртуальная...

Программа по курсу: практикум по программированию в ядре iconПрограмма по курсу: Практикум по технологиям производства по (базовый)
Рефакторинг. Простейшие оптимизации: накладные расходы на виртуальные методы и абстрактные классы

Программа по курсу: практикум по программированию в ядре iconРабочая программа II вида По курсу «практикум по математике»
...

Программа по курсу: практикум по программированию в ядре iconПрактикум по спортивной психологии Санкт-Петербург
...

Программа по курсу: практикум по программированию в ядре iconМетодические рекомендации к выполнению работ по курсу “Биофизический практикум”
Московский ордена Трудового Красного Знамени инженерно-физический институт (государственный университет) Министерства высшего и профессионального...

Программа по курсу: практикум по программированию в ядре iconРабочая программа дисциплины Практикум по орфографии и пунктуации...
Целями освоения дисциплины «Практикум по орфографии и пунктуации» являются систематизирование знаний студентов об орфографических...

Программа по курсу: практикум по программированию в ядре iconРабочая программа дисциплины Практикум по орфографии и пунктуации...
Целями освоения дисциплины «Практикум по орфографии и пунктуации» являются систематизирование знаний студентов об орфографических...

Программа по курсу: практикум по программированию в ядре iconПрактикум по когнитивной терапии
М15 Практикум по когнитивной терапии: Пер с англ. — Спб.: Речь, 2001. — 560 с. Isbn 5-9268-0036-6

Программа по курсу: практикум по программированию в ядре iconПрактикум л. И. Губарева о. М. Мизирева т. М. Чурилова экология человека...
Учебное пособие предназначено для студентов высших учебных заведений, оно может быть использовано также преподавателями вузов, учителями...

Программа по курсу: практикум по программированию в ядре iconРабочая программа по дисциплине дс. Ф. 8 Тренажерный практикум по...
ДС. Ф. 8 Тренажерный практикум по эксплуатации судовых дизельных энергетических установок

Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции