Программирование в ядре Windows

! Программа курса уточняется !

Темы курса

  • Обзор семейства ОС Windows NT и основные концепции. История семейства Windows NT. Цели и принципы семейства Windows NT. Основные концепции: Native и Win32 API, режимы ядра и пользователя, процессы и потоки, объекты и описатели, сервисы и экспортируемые функции, виртуальная и физическая память, безопасность, реестр, Unicode.
  • Компонента ядра Windows - Object Manager
  • Синхронизационные примитивы Windows.
  • Планировщик потоков(нитей) в Windows. (Kernel Scheduler)
    Ожидание на объектах ядра. Диспетчер объектов. (Kernel Dispatcher).
  • Краткий обзор защищенного режима процессоров x86 и AMD64.
    Диспетчер ловушек (обработка исключений, прерываний и вызовов системных сервисов).
    Механизм SEH.
  • Виртуальная и физическая память. Компоненты и сервисы диспетчера памяти. Системные пулы памяти. Структура линейного адресного пространства. Страничное преобразование. Обработка ошибок страниц.
    Виртуальная и физическая память. Дескрипторы виртуальных адресов. Рабочие наборы. База данных PFN. MDL.
  • Процессы, потоки, задания. Внутреннее устройство процесса. Внутреннее устройства потока. Объекты задания. Обзор недокументированных структур.
  • Архитектура ввода-вывода.
  • Менеджер кэша. Секции.
  • LPC, Security.
  • Реестр, сервисы, WMI.
  • Ключевые драйверы в режиме ядра. Ключевые компоненты режима пользователя. Обзор подсистем ядра. Общая архитектура. Загрузка системы. Bootloader и ntldr. Инициализация ядра и запуск smss. Crss и Win32k.sys. Winlogon и lsass.