Книга: 2.Внутреннее устройство Windows (гл. 5-7)
ГЛABA 6 Процессы, потоки и задания
ГЛABA 6 Процессы, потоки и задания
B этой главе мы рассмотрим структуры данных и алгоритмы, связанные с процессами, потоками и заданиями в Microsoft Windows. B первом разделе основное внимание уделяется внутренним структурам данных, из которых состоит процесс. Bo втором разделе поясняются этапы создания процесса (и его первичного потока). Далее поясняются внутреннее устройство потоков и их планирование. Завершается глава описанием объекта «задание» Job object).
B процессе изложения материала мы будем упоминать соответствующие счетчики производительности или переменные ядра. Хотя программирование под Windows не является предметом этой книги, в ней перечисляются Windows-функции, связанные с процессами, потоками и заданиями, — это даст вам представление о том, как они используются.
- Внутреннее устройство процессов
- Структуры данных
- Переменные ядра
- Счетчики производительности
- Сопутствующие функции
- Что делает функция CreateProcess
- Этап 1: открытие образа, подлежащего выполнению
- Этап 2: создание объекта «процесс»
- Этап 2A: формирование блока EPROCESS
- Этап 2B: создание начального адресного пространства процесса
- Этап 2C: создание блока процесса ядра
- Этап 2D: инициализация адресного пространства процесса
- Этап 2E: формирование блока PEB
- Этап 2F: завершение инициализации объекта «процесс» исполнительной системы
- Этап 3: создание первичного потока, его стека и контекста
- Этап 4: уведомление подсистемы Windows о новом процессе
- Этап 5: запуск первичного потока
- Этап 6: инициализация в контексте нового процесса
- Сборки, существующие в нескольких версиях
- Внутреннее устройство потоков
- Структуры данных
- Адрес Идентификатор ETHREAD потока Адрес TEB
- Переменные ядра
- Счетчики производительности
- Сопутствующие функции
- Рождение потока
- Наблюдение за активностью потоков
- Планирование потоков
- Обзор планирования в Windows
- Уровни приоритета
- Функции Windows API, связанные с планированием
- Сопутствующие утилиты
- Диспетчер системных ресурсов Windows
- Приоритеты реального времени
- Уровни прерываний и уровни приоритета
- Состояния потоков
- База данных диспетчера ядра
- Квант
- Учет квантов времени
- Управление величиной кванта
- Динамическое увеличение кванта
- Параметр реестра для настройки кванта
- Сценарии планирования
- Самостоятельное переключение
- Вытеснение
- Завершение кванта
- Завершение потока
- Переключение контекста
- Поток простоя
- Динамическое повышение приоритета
- Динамическое повышение приоритета после завершения ввода-вывода
- Динамическое повышение приоритета по окончании ожидания событий и семафоров
- Динамическое повышение приоритета потоков активного процесса после выхода из состояния ожидания
- Динамическое повышение приоритета после пробуждения GUI-потоков
- Динамическое повышение приоритета при нехватке процессорного времени
- Многопроцессорные системы
- База данных диспетчера ядра в многопроцессорной системе
- Системы с поддержкой Hyperthreading
- Системы NUMA
- Привязка к процессорам
- Идеальный и последний процессоры
- Алгоритмы планирования потоков в многопроцессорных системах
- Выбор процессора для потока при наличии простаивающих процессоров
- Выбор процессора для потока в отсутствие простаивающих процессоров
- Выбор потока для выполнения на конкретном процессоре (Windows 2000 и Windows XP)
- Выбор потока для выполнения на конкретном процессоре (Windows Server 2003)
- Объекты-задания
- Резюме
- 10.4 ПОТОКИ
- 7.2.5. Подчиненные процессы
- Глава 3 Процессы
- 2.2.2 Процессы
- Глава 26 Программные потоки
- 2.5. Разработка технического задания на проведение детального анализа рынка при работе над инновационным проектом. Основ...
- Стандартные потоки: stdin, stdout, stdeir, stdaux, stdprn.
- 1.2 Процесс, контекст процесса и потоки
- 15.1.3. Обработка сигналов управления заданиями
- Рабочие процессы
- Вопросы и задания
- При завершении работы Windows сообщает, что некоторые процессы не отвечают, и компьютер не выключается. Как завершать та...