Диспетчер сеансов¶
Диспетчер сеансов (англ. 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 →


