Число Системных Рабочих Потоков
Таблица 10. Число Системных Рабочих Потоков
Тип рабочего потока | Объем системной памяти | Базовый приоритет планирования | ||||
12-19 MB | 20-64 MB | >64MB | ||||
Delayed | 3 | 3 | 3 | Значение в диапазоне динамических приоритетов | ||
Critical | 3 | Professional: 3 Server: 6 | Professional: 5 Server: 10 | Значение в диапазоне приоритетов реального времени | ||
HyperCritical | 1 | 1 | 1 | Не документирован |
Следует отметить, что использование единственного потока типа HyperCritical не документировано. ОС использует этот поток для выполнения функции - чистильщика, которая освобождает потоки при их завершении.
При постановке рабочего элемента в очередь указывается тип потока, которому предназначен рабочий элемент.
Для работы с системными рабочими потоками существует два набора функций -функции с префиксом Ех, и функции с префиксом Iо. Функции с префиксом Ех использовались в ОС NT 4.0 и более ранних версиях, и в Win2000 считаются устаревшими. В любом случае, вначале драйвер должен инициализировать рабочий элемент с помощью функций ExInitializeWorkltem() или IoAllocateWorkItem(), поместить рабо- чий элемент в очередь с помощью функций ExQueueWorkltem() или loQueueWorkltem(), а при запуске функции, указанной в рабочем элементе, эта функция обязана освобо- дить занимаемые рабочим элементом ресурсы с помощью функций ExFreePool() или loFreeWorkltem().