Общие сведения об объектах потоков
Объект потока пользовательского режима представляет путь выполнения в рамках текущего процесса. Каждый объект потока пользовательского режима реализуется с помощью внедренного объекта потока в режиме ядра.
Объект потока режима ядра — это экземпляр определенного ядром типа объекта диспетчера. Поток, который он представляет, является базовой сущностью schedulable в операционной системе.
Объект потока:
Отправляется для выполнения ядром.
Имеет следующие свойства в любой момент:
состояние диспетчеризации
priority
context
Режим выполнения (ядро или пользователь)
affinity
Является "владельцем" объекта процесса, но может присоединиться к адресной области другого процесса.
Как правило, большинство драйверов выполняются в контексте текущего выполняющегося потока, то есть в произвольном контексте потока. Хотя драйвер файловой системы может создавать независимый процесс для собственных выделенных устройств потоков, файловые системы обычно не настраивают созданные драйвером процессы и потоки, чтобы сэкономить системную память и избежать дополнительных затрат на переключения контекста.
FSs (и другие драйверы) могут настраивать выделенные для устройства потоки (системные процессы) и (или) FS могут использовать системные рабочие потоки, если им требуется контекст потока, зависят от драйвера, в котором выполняется выполнение. Драйверы используют подпрограммы PsXxx в режиме ядра для создания процессов и (или) выделенных устройств потоков. FSs вызывают подпрограммы ExXxx для использования системных рабочих потоков.