stringtranslate.com

Подсистема менеджера сеансов

Подсистема диспетчера сеансов (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]

Смотрите также

Ссылки

  1. ^ "Устранение неполадок процесса запуска". Windows XP Resource Kit . Microsoft Technet. 3 ноября 2005 г. Получено 24 октября 2011 г.
  2. ^ Мэтт Пьетрек (1996). «Poking Around Under the Hood: A Programmer's View of Windows NT 4.0». Microsoft Systems Journal. Архивировано из оригинала 18 ноября 2012 г.
  3. ^ "Устранение неполадок процесса запуска". Windows XP Resource Kit . Microsoft Technet. 3 ноября 2005 г. Получено 24 октября 2011 г.
  4. ^ ab Ионеску, Алекс; Руссинович, Марк; Соломон, Дэвид А. (2012). Внутреннее устройство Windows, часть 2 (6-е изд.). Редмонд, Вашингтон: Microsoft. стр. 522–527. ISBN 978-0735665873.
  5. ^ abc Archiveddocs. "Администрирование Windows: Внутри ядра Windows Vista: Часть 2". learn.microsoft.com . Получено 2023-05-13 .
  6. ^ Microsoft Corporation (2007). "Процессы по умолчанию в Windows 2000". Microsoft Corporation . Получено 2009-06-14 .

Дальнейшее чтение