Подсистема диспетчера сеансов (Session Manager Subsystem ) , или smss.exe
, является компонентом семейства операционных систем Microsoft Windows NT , начиная с Windows NT 3.1 . Она выполняется во время процесса запуска этих операционных систем .
Подсистема диспетчера сеансов — это первый процесс пользовательского режима, запускаемый ядром. После запуска он создает дополнительные файлы подкачки с данными конфигурации из 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
разделе реестра. Это можно использовать для создания постоянных дисков subst .
Менеджер отвечает за запуск режимов ядра и пользователя подсистемы Win32 . Эта подсистема включает win32k.sys
(kernel-mode), winsrv.dll
(user-mode) и csrss.exe
(user-mode). [2] Любые другие подсистемы, перечисленные в Required
значении ключа 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, подсистема диспетчера сеансов создает временный экземпляр себя, который запускает приложение Windows Startup Application ( wininit.exe
) и вторую подсистему Client/Server Runtime Subsystem ( csrss.exe
) для сеанса 0, сеанса, посвященного системным процессам. Отсюда приложение Windows Startup Application запускает диспетчер управления службами ( services.exe
), который запускает все службы Windows, настроенные на «Автозапуск». [4] Приложение также запускает службу подсистемы локальной безопасности ( lsass.exe
). До Windows Vista эти процессы запускались с помощью входа в Windows, а не с помощью приложения Windows Startup Application. [5]
После настройки сеанса подсистема диспетчера сеансов запускает Winlogon (приложение для входа в Windows), которое отвечает за обработку интерактивных входов в систему Windows, как локальных, так и удаленных. [5]
После завершения процесса загрузки программа находится в памяти и может быть видна работающей в диспетчере задач Windows . Затем она ждет завершения winlogon.exe
или csrss.exe
, после чего Windows завершит работу. Если процессы не завершатся ожидаемым образом, smss.exe
это может привести к зависанию системы или возникновению ошибки . [6] Она также инициирует новые сеансы пользователя при необходимости. В некоторых версиях Windows с помощью специальных инструментов можно удалить критический статус процесса smss.exe
, после чего его можно завершить без синего экрана, но любые функции, которые используют, smss.exe
перестанут работать до следующей перезагрузки
Служба локального диспетчера сеансов ( lsm.exe
) отправляет запросы в SMSS через порт асинхронного локального межпроцессного взаимодействияSmSsWinStationApiPort
(ALPC) для запуска новых сеансов.
Каждый раз, когда пользователь входит в систему, начальный диспетчер сеансов создает новый экземпляр самого себя для настройки нового сеанса. Этот новый процесс запускает подсистему Win32 и процесс Winlogon для нового сеанса. Это позволяет нескольким пользователям одновременно входить в систему на системах Windows Server . [5]
init
— аналогичный процесс в системах типа Unix