Программирование систем защиты

         

Программирование систем защиты


Общая архитектура 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)





Содержание