Иллюстрированный самоучитель по Pogramming Sistem Security


Содержание


Глава 2. Общая архитектура Windows NT
Общая архитектура Windows NT
Вытесняющая многозадачность (preemptive multitasking)
Виртуальная память с подкачкой страниц по требованию
Симметричная мультипроцессорная обработка
Интегрированная поддержка сети
Структура Windows NT
Защищенные подсистемы
Подсистемы среды
Подсистема среды Win32
Подсистема среды Win32 - часть 2
«Родной» API для ОС Windows NT (Native Windows NT API)
Неотъемлемые подсистемы
Исполнительная система (The Executive)
Исполнительная система (The Executive) - часть 2
Исполнительная система (The Executive) - часть 3
Диспетчер Объектов
Диспетчер Объектов - часть 2
Понятия «пользовательский режим» и «режим ядра»
Система ввода/вывода
Ядро
Слой абстрагирования от оборудования
Система приоритетов
Уровни запросов прерываний (IRQL)
Приоритеты планирования
Динамические приоритеты и приоритеты реального времени
Базовый приоритет. Класс приоритета и относительный приоритет
Как используются IRQL
Как используются IRQL - часть 2
IRQL PASSIVE_LEVEL, APC_LEVEL и DISPATCH_LEVEL
IRQL PASSIVE_LEVEL, APC_LEVEL и DISPATCH_LEVEL - часть 2
Ограничения, налагаемые на код с уровнем IRQL большим или равным DISPATCHJLEVEL
Ограничения, налагаемые на код с уровнем IRQL большим или равным DISPATCHJLEVEL - часть 2
DIRQLs
Прерывания и планирование
Определение текущего уровня IRQL
Организация памяти в защищенном режиме работы процессора
Некоторые понятия защищенного режима
Организация системного адресного пространства
Типы адресов в NT
Совместное использование памяти
Объект Секция
Таблица описания памяти (Memory Descriptor List, MDL)
Функции работы с памятью
Выделение памяти
Список заранее выделенных блоков памяти (Lookaside List)
Пространства ввода/вывода и отображение памяти устройств
Управление памятью и MDL
Унифицированная модель драйвера
Объект-файл (файловый объект)
Объект-драйвер
Объект-устройство
Имя устройства и символическая связь
Основные характеристики Windows NT
Взаимосвязь основных объектов
Установка, удаление, запуск и установка драйвера
Точки входа драйвера
Точки входа драйвера - часть 2
Контекст исполнения и уровень IRQL
Ограничения, налагаемые на драйвер
Точка входа DriverEntry
Определение конфигурации аппаратного устройства
Создание объекта-устройства и символической связи
Передача данных от приложения к драйверу. Асинхронная обработка
Выполнение асинхронного запроса
Характеристики подсистемы ввода/вывода
Структура пакета запроса ввода/вывода (IRP)
Поля в фиксированной части IRP
Поля в фиксированной части IRP - часть 2
Поля в стеке размещения ввода/вывода IRP
Описание буфера данных
Описание буфера данных - часть 2
Коды функции ввода/вывода
Модель модифицированного микроядра
Диспетчерские точки входа драйвера
Запросы чтения и записи IRP_MJ_READ и IRPJVLMVRITE
Пример обработки запросов чтения/записи
Запросы IRP_MJ_DEVICE_CONTROL и IRP^MJJNTERNA^DEVICE^CONTROL
Задание кода управления вводом/выводом (IOCTL)
Задание кода управления вводом/выводом (IOCTL) - часть 2
Получение буфера
Получение буфера - часть 2
Пример обработки
Многоуровневая модель драйверов
Реализация уровневых драйверов
Index53
Сериализация
Задержка обработки запросов IRP и постановка запросов IRP в очередь
Системная очередь запросов IRP (System Queuing)
Системная очередь запросов IRP (System Queuing) - часть 2
Обработка пакетов IRP в функции Startlo
Очереди, управляемые драйвером
Функции управления очередью низкого уровня
Функции управления очередью низкого уровня - часть 2
Функции управления очередью высокого уровня - «Очередь Устройства» (Device Queue)
Отмена запросов ввода/вывода
Отмена IRP и Системная Очередь
Отмена IRP и очереди, управляемые драйвером
Механизмы синхронизации
Спин-блокировки
Спин-блокировки - часть 2
Использование обычных спин-блокировок
Проблема взаимоблокировок (deadlocks)
Диспетчерские объекты
Диспетчерские объекты - часть 2
Ожидание (захват) диспетчерских
Семафоры
События
Быстрые мьютексы
Эмуляция нескольких ОС
Ресурсы Исполнительной системы
Обобщенная таблица механизмов синхронизации
Необходимость в создании рабочих потоков
Системные рабочие потоки
Системные рабочие потоки - часть 2
Создание потоков драйвером
Потоки как диспетчерские объекты
Введение в обработку прерываний
Объекты - прерывания
Отложенный вызов процедуры (Deferred Procedure Call, DPC)
DPC-объекты Вызов DPC описывается
DpcForlsr
Независимость от архитектуры процессора
Объектная модель
Многопоточность



- Начало -    



Книжный магазин