В этой статье рассмотрим важные системные процессы в системе Windows. Узнаем какие процессы обслуживают операционную систему и чем именно они занимаются.

Системные процессы

Idle

Этот процесс служит для учета времени бездействия процессора. Другими словами, пока процессор бездействует, он обслуживает потоки этого процесса.

Процесс Idle всегда имеет идентификатор 0. Он содержит по одному потоку на каждое ядро. При этом каждый поток работает на отдельном ядре.

Так как этот процесс имеет наименьший приоритет в системе, то выполняться его потоки на процессоре будут только тогда, когда другие потоки будут бездействовать.

System

Этот процесс содержит много потоков, которые работают в режиме ядра. Он не является полноценным процессом Windows, так как для него нет исполняемого файла. Потоки в этом процессе создаются самим ядром или драйверами при запуске системы.

Если процесс System загружает центральный процессор, или использует много оперативной памяти, нужно вначале разобраться какой именно поток потребляет слишком много ресурсов. Сделать это можно, например, используя Process Explorer. Например, на файловом сервере под высокой нагрузкой, процесс System значительно нагрузит процессор, так как системные потоки обрабатывающие сетевые обращения к файловой системе будут работать в этом процессе.

Process Explorer.
Потоки процесса System

А еще этот процесс запускает три дочерних процесса: Memory compression, Registry и Smss.exe.

Memory compression, Registry и Smss.exe

Все эти процессы не имеют исполняемого файла и запускаются одним процессом System.

Memory compression — этот процесс хранит сжатую память процессов пользовательского режима.

Registry — а этот процесс хранит сжатые данные системного реестра. Такое хранение данных реестра в выделенном процессе должно уменьшить нагрузку на память.

Smss.exe (Sessions Manager Subsystem) — так называемый диспетчер сеансов. Это первый процесс пользовательского режима, который создается в системе. Работая на сервере служб удаленных рабочих столов он может создать несколько сеансов одновременно.

Csrss.exe

Csrss.exe (Client Server Runtime Process) — часть графической подсистемы Windows, которая работает в пользовательском режиме.

Про серверную часть этой подсистемы, а именно про файл “Win32k.sys“ я немного писал в этой статье.

Раньше этот процесс отвечал за всю графическую подсистему, включая управление окнами, рисование объектов на экране и другие связанные функции. Но в Windows NT 4.0 многие из этих функций были перемещены в ядро ​​Windows. А точнее в драйвер системы «Win32k.sys«. Однако этот процесс по-прежнему важен, так как он отвечает за обработку консоли и графический интерфейс выключения системы.

Wininit.exe

Это процесс инициализации системы. Он выполняет следующие действия:

  • инициализирует имя компьютера, домен и сетевые настройки;
  • задаёт значения переменных среды для профиля по умолчанию;
  • создает временный каталог (%SystemRoot%\Temp);
  • загружает шрифты и диспетчер окон рабочего стола для нулевого сеанса;
  • запускает диспетчер служб (Services.exe);
  • запускает службу локальной аутентификации (Lsass.exe);
  • начинает ожидать запрос на завершение работы.

Services.exe

Это диспетчер служб, который запускается процессом Wininit.exe. То есть этот процесс отвечает за запуск и остановку служб. При этом каждая служба запускает для себя процесс Svchost.exe. А уже в Svchost.exe работают потоки отдельных служб.

Процессы отвечающие за вход в систему

Отдельно я решил выделить системные процессы, которые отвечают за вход пользователя в систему.

Процесс входа Winlogon.exe обеспечивает интерактивный вход и выход пользователей.

Пользовательский интерфейс, куда мы вводим логин и пароль, создаются процессом LogonUI.exe, который является дочернем от Winlogon.exe.

После ввода учетных данных процесс LogonUI.exe завершается, а данные передаются локальной службе аутентификации — Lsass.exe.

Если аутентификация удалась, дальше пользователю назначается маркер безопасности, который будет использоваться при запуске программ этим пользователем. А если пользователь является администратором, для него добавляются сразу два маркера безопасности, чтобы он мог выполнять программы от имени администратора.

Процесс Userinit.exe является дочерним от Winlogon.exe и выполняет частичную инициализацию окружения пользователя, а именно запускает сценарии входа и восстановление сетевых подключений. А также он запускает оболочку пользователя — Explorer.exe.

Затем Userinit.exe завершается и Explorer.exe отображается без родителя. Можно сказать что Explorer.exe является внуком Winlogon.exe.

Процесс входа пользователя в систему более подробно распишу в конце этого курса.

Используем Process Monitor

Чтобы увидеть дерево процессов, можно воспользоваться программой Process Monitor. Вначале с помощью этого приложения нужно выполнить загрузочную трассировку. Откройте меню «Options» и выберите команду «Enable Boot Logging«. Затем перезапустите программу.

После перезапуска откройте меню «Tools» и выберите команду «Process Tree«.

Откроется окно с деревом процессов. При этом можно увидеть даже завершённые процессы, которые выполнялись при загрузке системы. Такие процессы будут выделены серым цветом и в колонке «End Time» будет время их завершения.

Process Monitor.
Дерево процессов

Выделив определённый процесс, внизу вы увидите информацию о нём.


Вернуться к оглавлению

Сводка
Системные процессы Windows
Имя статьи
Системные процессы Windows
Описание
В этой статье рассмотрим важные системные процессы в системе Windows. Узнаем какие процессы обслуживают операционную систему и чем именно они занимаются

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *