Программирование систем защиты
Общая архитектура Windows NT
Понятия «пользовательский режим» и «режим ядра»
Некоторые понятия защищенного режима
Основные характеристики Windows NT
Модель модифицированного микроядра
Эмуляция нескольких ОС
Независимость от архитектуры процессора
Объектная модель
Многопоточность
Вытесняющая многозадачность (preemptive multitasking)
Виртуальная память с подкачкой страниц по требованию
Симметричная мультипроцессорная обработка
Интегрированная поддержка сети
Структура Windows NT
Защищенные подсистемы
Подсистемы среды
Неотъемлемые подсистемы
Исполнительная система (The Executive)
Диспетчер Объектов
Система ввода/вывода
Ядро
Слой абстрагирования от оборудования
Система приоритетов
Уровни запросов прерываний (IRQL)
Приоритеты планирования
Как используются IRQL
Прерывания и планирование
Определение текущего уровня IRQL
Архитектура памяти
Организация памяти в защищенном режиме работы процессора
Организация системного адресного пространства
Типы адресов в NT
Совместное использование памяти
Объект Секция
Таблица описания памяти (Memory Descriptor List, MDL)
Функции работы с памятью
Унифицированная модель драйвера
Объект-файл (файловый объект)
Объект-драйвер
Объект-устройство
Взаимосвязь основных объектов
Установка, удаление, запуск и остановка драйвера
Структура драйвера
Ограничения, налагаемые на драйвер
Точка входа DriverEntry
Передача данных от приложения к драйверу. Асинхронная обработка
Пакет запроса ввода/вывода (IRP)
Характеристики подсистемы ввода/вывода
Структура пакета запроса ввода/вывода (IRP)
Описание буфера данных
Коды функции ввода/вывода
Диспетчерские точки входа драйвера
Многоуровневая модель драйверов
Реализация уровневых драйверов
Реализация драйверов-фильтров
Сериализация
Задержка обработки запросов IRP и постановка запросов IRP в очередь
Отмена запросов ввода/вывода
Механизмы синхронизации
Спин-блокировки
Диспетчерские объекты
Ресурсы Исполнительной системы
Обобщенная таблица механизмов синхронизации
Рабочие потоки
Необходимость в создании рабочих потоков
Системные рабочие потоки
Создание потоков драйвером
Потоки как диспетчерские объекты
Введение в обработку прерываний
Объекты - прерывания
Отложенный вызов процедуры (Deferred Procedure Call, DPC)
Содержание |