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