Меню

Главная
Случайная статья
Настройки
Диспетчер сеанса Windows
Материал из https://ru.wikipedia.org

Подсистема диспетчера сеанса, также известная как smss.exe, представляет собой важный компонент семейства операционных систем Microsoft Windows NT, начиная с версии 3.1. Она запускается автоматически в процессе загрузки этих операционных систем.

Содержание

Инициализация сеанса

Подсистема Session Manager — это первый процесс, который ядро запускает в пользовательском режиме. После своего старта она создает дополнительные файлы подкачки, используя конфигурацию, находящуюся в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management[1]. Переменные среды, которые можно найти в разделе реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, а также сопоставления устройств DOS, такие как CON:, NUL:, AUX:, COM1:, COM2:, COM3:, COM4:, PRN:, LPT1:, LPT2:, LPT3:, и буквы дисков, перечисленные в разделе HKLM\System\CurrentControlSet\Control\Session Manager\DOS Devices, могут быть использованы для создания постоянных вспомогательных дисков.

Менеджер отвечает за запуск ядра и пользовательских режимов подсистемы Win32. Эта подсистема включает в себя три важных компонента:
  • win32k.sys — отвечает за работу ядра;
  • winsrv.DLL — обеспечивает функционирование пользовательского режима;
  • csrss.exe — управляет ресурсами в пользовательском режиме[2].


Также активируются все другие подсистемы, указанные в необходимом значении раздела реестра HKLM\System\CurrentControlSet\Control\Session Manager\SubSystems.

Менеджер также отвечает за выполнение всех необходимых операций в начале сеанса. В его распоряжении находятся команды, которые указаны в разделе реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute. Среди них такие важные команды, как autochk и convert. Эти команды запускаются перед тем, как службы начнут свою работу на следующих этапах загрузки операционной системы[3]. Любые операции переименования, которые были поставлены в очередь в разделе реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations, будут выполнены после перезагрузки. Это позволяет заменять ранее использовавшиеся файлы, такие как драйверы, без необходимости их повторного копирования[4].

Начиная с Windows Vista, подсистема Session Manager создает временный экземпляр, который запускает приложение запуска Windows (wininit.exe) и вторую клиент-серверную подсистему выполнения (csrss.exe) для сеанса 0 — сеанса, посвященного системным процессам. Затем приложение запуска Windows запускает диспетчер управления службами (services.exe), который, в свою очередь, активирует все службы Windows, для которых установлен режим «Автозапуск»[4]. Приложение также запускает службу подсистемы локальных служб обеспечения безопасности (lsass.exe). До выхода Windows Vista эти процессы активировались только при входе в систему, а не при запуске приложений Windows[5].

После настройки сеанса подсистема диспетчера сеансов инициирует запуск Winlogon — приложения для входа в систему Windows. Это приложение отвечает за обработку всех интерактивных входов в систему, как локальных, так и удалённых[5].

Операции

После завершения загрузки программа остаётся в памяти, и её запуск можно увидеть в диспетчере задач Windows. Затем она ожидает завершения работы либо winlogon.exe, либо csrss.exe, после чего Windows завершит свою работу. Если эти процессы не завершатся должным образом, то smss.exe может вызвать зависание системы или проверку ошибок[6].

Служба локального диспетчера сеансов (lsm.exe) выполняет запросы на отправку SMS-сообщений через асинхронный порт локальной межпроцессной связи[англ.] (ALPC), известный как SmSsWinStationApiPort, для инициирования новых сеансов.

Каждый раз, когда пользователь входит в систему, основной диспетчер сеансов создаёт новый процесс для настройки нового сеанса. Этот процесс запускает подсистему Win32 и процесс Winlogon для нового сеанса. Это позволяет нескольким пользователям одновременно входить в систему в системах Windows Server[5].

Примечания
  1. Troubleshooting the Startup Process (амер. англ.). learn.microsoft.com. Дата обращения: 21 сентября 2025.
  2. Poking Around Under the Hood: A Programmer's View of Windows NT 4.0. www.microsoft.com. Дата обращения: 21 сентября 2025. Архивировано 18 ноября 2012 года.
  3. Troubleshooting the Startup Process (амер. англ.). learn.microsoft.com. Дата обращения: 21 сентября 2025.
  4. 1 2 Mark E. Russinovich. Windows internals. — 6th ed. — Redmond, Wash: Microsoft Press, 2012. — 1 с. — ISBN 978-0-7356-6587-3.
  5. 1 2 3 Archiveddocs. Windows Administration: Inside the Windows Vista Kernel: Part 2 (амер. англ.). learn.microsoft.com. Дата обращения: 21 сентября 2025.
  6. "Default Processes in Windows 2000" (англ.). support.microsoft.com. Microsoft Corporation (2007). Дата обращения: 21 сентября 2025.


См. также
Downgrade Counter