Открыть сервис

Диспетчер сеансов

Диспетчер сеансов (англ. Session Manager Subsystem, SMSS) — это компонент операционной системы Windows, отвечающий за запуск подсистемы сеанса и инициализацию пользовательской среды. Он является первым процессом, запускаемым в пользовательском режиме после завершения загрузки ядра, и выполняет критически важные функции по подготовке системы к работе с учётными записями пользователей, управлению сеансами и запуску ключевых системных служб.

История

Диспетчер сеансов был введён в операционной системе Windows NT 3.1 (1993 год) как часть архитектуры, ориентированной на многопользовательскую работу и безопасность. В более ранних версиях Windows (например, Windows 3.x и Windows 9x) подобного компонента не существовало, так как они не имели полноценной многозадачности и изоляции сеансов. В Windows NT диспетчер сеансов стал одним из ключевых элементов подсистемы управления сеансами, обеспечивающим разделение ресурсов и процессов между разными пользователями.

С развитием Windows (NT 4.0, 2000, XP, Vista, 7, 8, 10, 11) функциональность SMSS расширялась, но основные принципы его работы остались неизменными. В современных версиях Windows диспетчер сеансов также участвует в поддержке функций, таких как быстрый перезапуск системы (Fast Startup) и гибернация.

Функции

Диспетчер сеансов выполняет несколько ключевых задач в процессе загрузки системы:

Запуск подсистемы сеанса

После завершения инициализации ядра Windows (фаза загрузки, выполняемая загрузчиком ntldr или bootmgr) ядро запускает процесс SMSS.exe. Этот процесс является первым, работающим в пользовательском режиме. Он отвечает за создание и инициализацию подсистемы сеанса, которая включает в себя:

  • Подсистему управления сеансами (Session Manager).
  • Подсистему локального вызова процедур (Local Procedure Call, LPC).
  • Подсистему безопасности (Security Subsystem).

Загрузка реестра

SMSS загружает в память ключи реестра, необходимые для работы системы, в частности:

  • HKEY_LOCAL_MACHINE\SYSTEM — содержит информацию о конфигурации оборудования, драйверах и службах.
  • HKEY_LOCAL_MACHINE\SOFTWARE — содержит данные о настройках программного обеспечения.

Запуск подсистемы Win32

Диспетчер сеансов запускает процесс CSRSS.exe (Client/Server Runtime Subsystem), который является основой подсистемы Win32 (графический интерфейс, управление окнами, ввод-вывод). CSRSS обеспечивает работу классических приложений Windows и взаимодействие с пользователем.

Создание сеансов

SMSS управляет созданием и завершением сеансов пользователей. При входе пользователя в систему диспетчер сеансов создаёт новый сеанс, который включает в себя:

  • Отдельное пространство процессов.
  • Отдельный рабочий стол (Desktop).
  • Отдельную копию подсистемы Win32 (для каждого сеанса запускается свой экземпляр CSRSS).

Запуск служб

После инициализации подсистемы Win32 диспетчер сеансов запускает процесс Winlogon.exe (менеджер входа в систему), который отвечает за аутентификацию пользователей. Затем Winlogon запускает Service Control Manager (SCM, services.exe), который отвечает за запуск и управление системными службами.

Управление виртуальной памятью

SMSS участвует в настройке виртуальной памяти, в частности, в создании файла подкачки (pagefile.sys) и определении его размера.

Устройство и работа

Диспетчер сеансов представляет собой исполняемый файл SMSS.exe, расположенный в каталоге %SystemRoot%\System32\. Он запускается ядром на этапе загрузки системы, после того как ядро завершило инициализацию драйверов устройств и файловой системы. Процесс SMSS работает с наивысшим приоритетом (Real-time) и является критически важным для стабильной работы системы.

Файлы конфигурации

SMSS использует несколько файлов конфигурации, которые определяют его поведение:

  • %SystemRoot%\System32\smss.ini — содержит параметры, управляющие запуском подсистем и служб.
  • %SystemRoot%\System32\win.ini — устаревший файл, используемый для совместимости с 16-битными приложениями.
  • %SystemRoot%\System32\system.ini — также устаревший файл, содержащий настройки системы.

Однако в современных версиях Windows (начиная с Windows 2000) основная часть конфигурации SMSS хранится в реестре, в частности в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager.

Ключевые параметры реестра

В разделе реестра Session Manager находятся параметры, управляющие работой диспетчера сеансов:

  • BootExecuteсписок команд, выполняемых перед загрузкой системы (например, запуск chkdsk).
  • PendingFileRenameOperations — список операций переименования или удаления файлов, отложенных до перезагрузки.
  • Memory Management — настройки виртуальной памяти, такие как размер файла подкачки.

Классификация

Диспетчер сеансов можно классифицировать по нескольким признакам:

По типу операционной системы

  • Windows NT и её производные (Windows 2000, XP, Vista, 7, 8, 10, 11) — SMSS является стандартным компонентом.
  • Windows 9x и более ранние — отсутствует, так как архитектура не поддерживает многопользовательские сеансы.

По роли в загрузке

  • Первый пользовательский процесс — запускается сразу после ядра, до всех остальных служб и приложений.
  • Критический системный процесс — его завершение приводит к аварийному завершению работы системы (синий экран смерти).

Применение и значение

Диспетчер сеансов играет фундаментальную роль в работе операционной системы Windows. Без него невозможно:

  • Запуск графического интерфейса пользователя.
  • Вход в систему и аутентификация пользователей.
  • Управление сеансами и рабочими столами.
  • Запуск системных служб и приложений.

Кроме того, SMSS обеспечивает изоляцию сеансов, что важно для безопасности и многопользовательской работы. Например, в Windows Server диспетчер сеансов позволяет нескольким пользователям одновременно работать на одном сервере через терминальные сеансы (Remote Desktop Services).

Критика и уязвимости

Как и любой критический системный компонент, диспетчер сеансов может быть объектом атак. В истории Windows были обнаружены уязвимости, связанные с SMSS:

  • Повышение привилегий — некоторые уязвимости позволяли злоумышленнику, имеющему локальный доступ, выполнить код с правами системы (SYSTEM), что могло привести к полному контролю над компьютером. Например, уязвимость CVE-2017-8680 (Windows 10) позволяла повысить привилегии через SMSS.
  • Отказ в обслуживаниинекорректные данные, передаваемые диспетчеру сеансов, могли вызвать аварийное завершение работы системы.

Microsoft регулярно выпускает обновления безопасности, устраняющие подобные уязвимости. Рекомендуется своевременно устанавливать обновления Windows.

Интересные факты

  • Процесс SMSS.exe не имеет графического интерфейса и не отображается в диспетчере задач по умолчанию (его можно увидеть, включив отображение процессов всех пользователей).
  • При загрузке Windows диспетчер сеансов создаёт файл подкачки (pagefile.sys) на основе настроек, указанных в реестре. Если настройки изменены, SMSS может удалить старый файл подкачки и создать новый.
  • В Windows 10 и 11 диспетчер сеансов также участвует в процессе быстрого запуска (Fast Startup), который сокращает время загрузки за счёт сохранения состояния ядра и драйверов в файл гибернации.

См. также

  • Процесс загрузки Windows
  • CSRSS (Client/Server Runtime Subsystem)
  • Winlogon
  • Service Control Manager

Источники

  • Microsoft Docs — «Session Manager Subsystem (SMSS)»
  • Windows Internals, 7th Edition (Part 1) — Pavel Yosifovich, Mark Russinovich, David Solomon, Alex Ionescu
  • Microsoft Security Response Center — CVE-2017-8680
  • MSDN — «Registry Keys for Session Manager»

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →