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





НазваниеПрограмма по курсу: Практикум по программированию в ядре операционной системы
Дата публикации24.05.2015
Размер38.9 Kb.
ТипПрограмма
100-bal.ru > Информатика > Программа


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

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

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

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

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

__________________ 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. – электронная справка к программному продукту.


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

Похожие:

Программа по курсу: Практикум по программированию в ядре операционной системы iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цели и задачи: изучить назначение операционной системы, познакомиться с основными элементами управления графического интерфейса,...
Программа по курсу: Практикум по программированию в ядре операционной системы iconПрактикум по курсу "Коммерческое право" Казань
Практикум рассмотрен и рекомендован к изданию кафедрой гражданского права и процесса кгу
Программа по курсу: Практикум по программированию в ядре операционной системы icon«Разработка алгоритмов и программирование на языке Pascal»
Лабораторный практикум содержит методические указания к выполнению лабораторных работ по алгоритмизации и программированию на языке...
Программа по курсу: Практикум по программированию в ядре операционной системы iconУчебно-методический комплекс по курсу «Практикум по психосоматике»
Г. В. Старшенбаум. Практикум по психосоматике. – М.: Ноу впо «Институт психоанализа», 13 с
Программа по курсу: Практикум по программированию в ядре операционной системы iconПрактикум по специальности 210404 Многоканальные телекоммуникационные...
Практикум предназначен для студентов заочной формы обучения по специальности: 210404 Многоканальные телекоммуникационные системы
Программа по курсу: Практикум по программированию в ядре операционной системы iconКаков возможный путь эволюции такой системы?
Если в ядре кометы есть силикатная фаза, то там должен быть калий, уран и торий. Приняв содержание последних, как в земном веществе,...
Программа по курсу: Практикум по программированию в ядре операционной системы icon«Объектно-ориентированное программирование» в 10 – 11 классе
Икт: Практикум по программированию, 10-11 класс. Он содержит поурочные разработки по данному учебнику и диск с готовыми проектами...
Программа по курсу: Практикум по программированию в ядре операционной системы iconМодуль 2
Цели и задачи: изучить назначение операционной системы, познакомиться с основными элементами управления, графическим интерфейсом
Программа по курсу: Практикум по программированию в ядре операционной системы iconКонспект урока по информатике в 9 классе
Цели и задачи: изучить назначение операционной системы, познакомиться с основными элементами управления, графическим интерфейсом
Программа по курсу: Практикум по программированию в ядре операционной системы iconНастройка протокола pppoE в операционных системах Windows 95/98/me
Прежде чем вы начнете, убедитесь в наличии дистрибутива той операционной системы, в которой вы работаете!
Программа по курсу: Практикум по программированию в ядре операционной системы iconПрограмма по формированию навыков безопасного поведения на дорогах...
Стандартные программы операционной системы Windows позволяют создать такие материалы к уроку как
Программа по курсу: Практикум по программированию в ядре операционной системы iconПрограмма по формированию навыков безопасного поведения на дорогах...
Тема урока: Понятие программного обеспечения и его типы. Назначение операционной системы и её основные функции
Программа по курсу: Практикум по программированию в ядре операционной системы iconЦель: Показать важность знаний и умений в сфере информационных компьютерных технологий
Цели и задачи: изучить назначение операционной системы, познакомиться с основными элементами управления, графическим интерфейсом
Программа по курсу: Практикум по программированию в ядре операционной системы iconРеферат “Сравнение субд oracle и sqlserver”
При выборе операционной системы и аппаратуры для сервера бд приходится принимать во внимание достаточно много обстоятельств. Перечислим...
Программа по курсу: Практикум по программированию в ядре операционной системы iconУрока: обобщить и систематизировать теоретические знания и практические...
Закрепить базовую терминологию, описывающую пользовательский интерфейс ос windows
Программа по курсу: Практикум по программированию в ядре операционной системы iconКонспект урока по информатике в 11 классе Тема : Графический интерфейс...
Цели и задачи: изучить назначение операционной системы, познакомиться с основными элементами управления, графическим интерфейсом


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск