Программа по курсу: практикум по программированию в ядре windows (базовый) по направлению - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Программа по курсу: программирование в ядре windows (базовый) 1 25.04kb.
Программа по курсу: архитектура ядра ос windows (базовый) по направлению 1 19.59kb.
Программа по курсу: Практикум по параллельному программированию (по... 1 284.3kb.
Программа по курсу: практикум по объектно-ориентированному программированию... 1 205.07kb.
Программа по курсу: Практикум по технологиям производства по (базовый) 1 42.8kb.
Программа по курсу: Практикум по технологиям производства по (базовый) 1 23.41kb.
Программа по курсу: методы параллельной обработки данных (базовый) 1 45.76kb.
Программа по курсу: проектирование интерактивных систем (базовый) 1 267.06kb.
Программа по курсу: сравнительный анализ языков программирования... 1 120.93kb.
Программа по курсу: Методы параллельной обработки данных (базовый) 1 355.91kb.
Программа по курсу: теория и практика многопоточного программирования... 1 56.33kb.
Сведения о стоимости работ (услуг) по содержанию и ремонту общего... 1 71.24kb.
Направления изучения представлений о справедливости 1 202.17kb.

Программа по курсу: практикум по программированию в ядре windows (базовый) по направлению - страница №1/1

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

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

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

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

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

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




Мужчины любят ставить женщину на пьедестал, чтобы потом дать ей пинка. Без пьедестала удовольствие было бы уже не то. Клэр Люс
ещё >>