Самоучитель по программированию систем защиты






Самоучитель по программированию систем защиты

Глава 2. Общая архитектура Windows NT
Общая архитектура Windows NT

Вытесняющая многозадачность (preemptive multitasking)
Виртуальная память с подкачкой страниц по требованию
Симметричная мультипроцессорная обработка
Интегрированная поддержка сети
Структура Windows NT
Общая архитектура ОС Windows NT
Защищенные подсистемы
Подсистемы среды
Подсистема среды Win32
Рисование (drawing). Например

Вызов системных сервисов через "родной" API. (ntdll.dll)
«Родной» API для ОС Windows NT (Native Windows NT API)
Неотъемлемые подсистемы
Исполнительная система (The Executive)
Исполнительная система (The Executive) - 2
Таблица 1. Подсистемы Исполнительной Системы NT и их предназначение
Диспетчер Объектов
Таблица 2. Типы объектов и подсистемы исполнительной системы, которые ими управляют
Понятия «пользовательский режим» и «режим ядра»
Система ввода/вывода

Ядро
Слой абстрагирования от оборудования
Система приоритетов
Система приоритетов
Уровни запросов прерываний (IRQL)
Приоритеты планирования
Динамические приоритеты и приоритеты реального времени
Базовый приоритет. Класс приоритета и относительный приоритет
Таблица 3. Классы приоритетов
Таблица 4. Относительный приоритет

Как используются IRQL
Таблица 5 представляет символические
Таблица 5. Символические и числовые определения IRQL
IRQL PASSIVE_LEVEL, APC_LEVEL и DISPATCH_LEVEL
Ограничения, налагаемые на код с уровнем IRQL большим или равным DISPATCHJLEVEL
DIRQLs
Прерывания и планирование
Определение текущего уровня IRQL

Организация памяти в защищенном режиме работы процессора
Иллюстрация
Некоторые понятия защищенного режима
Организация системного адресного пространства
Типы адресов в NT
Совместное использование памяти
Иллюстрация
Объект Секция
Функции работы с памятью
Выделение памяти

Список заранее выделенных блоков памяти (Lookaside List)
Пространства ввода/вывода и отображение памяти устройств
Управление памятью и MDL
Унифицированная модель драйвера
Объект-файл (файловый объект)
Объект-драйвер
Объект-устройство
Имя устройства и символическая связь
Основные характеристики Windows NT
Взаимосвязь основных объектов

Иллюстрация
Установка, удаление, запуск и установка драйвера
Точки входа драйвера
Контекст исполнения и уровень IRQL
Ограничения, налагаемые на драйвер
Точка входа DriverEntry
Определение конфигурации аппаратного устройства
Создание объекта-устройства и символической связи
Передача данных от приложения к драйверу. Асинхронная обработка

Иллюстрация
Выполнение асинхронного запроса
Характеристики подсистемы ввода/вывода
Структура пакета запроса ввода/вывода (IRP)
Поля в фиксированной части IRP
Поля в стеке размещения ввода/вывода IRP
Описание буфера данных
Таблица 6. Характеристики Прямого
Коды функции ввода/вывода

Модель модифицированного микроядра
Диспетчерские точки входа драйвера
Запросы чтения и записи IRP_MJ_READ и IRPJVLMVRITE
Пример обработки запросов чтения/записи
Запросы IRP_MJ_DEVICE_CONTROL и IRP^MJJNTERNA^DEVICE^CONTROL
Задание кода управления вводом/выводом (IOCTL)
Формат кода управления вводом/выводом
Получение буфера
Таблица 7

Пример обработки
Многоуровневая модель драйверов
Таблица 9 Объект синхронизации

Таблица доступна только из режима
Реализация уровневых драйверов
Объединение драйверов в стек
Обработка запросов IRP стеком драйверов
Получение драйвером вышележащего
Реализация драйверов-фильтров

Подключение фильтра к устройству
Сериализация
Задержка обработки запросов IRP и постановка запросов IRP в очередь
Системная очередь запросов IRP (System Queuing)
Обработка пакетов IRP в функции Startlo
Очереди, управляемые драйвером
Функции управления очередью низкого уровня
Функции управления очередью высокого уровня - «Очередь Устройства» (Device Queue)

Отмена запросов ввода/вывода
Отмена IRP и Системная Очередь
Отмена IRP и очереди, управляемые драйвером
Механизмы синхронизации
Спин-блокировки
Использование обычных спин-блокировок
Проблема взаимоблокировок (deadlocks)
Диспетчерские объекты
Таблица 8. Диспетчерские объекты

Ожидание (захват) диспетчерских
Семафоры
События
Быстрые мьютексы
Эмуляция нескольких ОС
Ресурсы Исполнительной системы
Обобщенная таблица механизмов синхронизации
Таблица 9
Необходимость в создании рабочих потоков
Системные рабочие потоки

Таблица 10. Число Системных Рабочих Потоков
Создание потоков драйвером
Потоки как диспетчерские объекты
Введение в обработку прерываний
Объекты - прерывания
описывает типичный
Отложенный вызов процедуры (Deferred Procedure Call, DPC)
Вначале ISR запрашивает

DPC-объекты Вызов DPC описывается
DPC на многопроцессорных системах
Характеристики Объекта DPC
Важность DPC (DPC Importance)
Таблица 11. Ситуации, инициирующие
Целевой процессор для DPC (DPC Target Processor)
DpcForlsr
Независимость от архитектуры процессора




Базы данных

Все ваши изыскания и открытия по поводу зарабатывания несметных богатств нужно где-то хранить. Предланаю воспользоваться базами данных. Очень удобный инструмент для хранения (причем без потерь), поиска, сортировки любой информации. Отдельное удобство в том, что именно вы диктуете условия - что, где и как хранить. Большое количество настроек, вам наверняка хватит.

Базы данных Access
Основы баз данных
Проектирование базы данных
Модели, разработка
СУБД Sybase SQL Anywhere

Установка PostgreSQL
Хранилища данных - статьи
Основы современных баз данных
Лекции по Access2000
Лекции по Microsoft Access 2000

Введение в реляционные БД
Development of Safety
Базы данных Access 2003
Самоучитель по Access 2002
Database Programming & Design

Базы данных. Учебное пособие
База данных под прицелом
Ускоренный курс по БД
Основы работы с базами данных
Настольная СУБД Access 2002

Работа в Microsoft Access XP
Microsoft Access 2003
Программирование на VBA
Компоненты Data Access
Cистемы управления БД

SQLсервер в Linux - освоение
Разработка базы данных
Реляционные базы данных
Управление базами данных
Современные базы данных

Классика баз данных
Базы данных Visual Foxpro 7
Базы данных Visual Foxpro
Лекции по Access2000
Глобальные переменные

Настольная СУБД Access 2002
Работа в Microsoft Access XP
Работа с таблицами баз данных
Проектирование баз данных
Год перемен в БД

Базы данных. Вводный курс
Создание форм и отчетов
Базы данных - Разработка
Управление базой данных
Язык реляционных БД SQL

SQL для начинающих
SQL Server 2005 IServices
Три манифеста баз данных
Теория баз данных
FoxPro. Система управления

Базы данных - FoxPro 8
Access. Программирование
Компоненты Data Access
Основы языка Visual FoxPro
FoxPro. Краткое руководство

Microsoft Access 2003