El subsistema Session Manager , o smss.exe
, es un componente de la familia de sistemas operativos Microsoft Windows NT , a partir de Windows NT 3.1 . Se ejecuta durante el proceso de inicio de esos sistemas operativos .
El subsistema de administrador de sesión es el primer proceso en modo de usuario iniciado por el kernel. Una vez iniciado, crea archivos de paginación adicionales con datos de configuración de HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management,
[1] las variables de entorno ubicadas en la entrada del registro HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
y las asignaciones de dispositivos DOS (por ejemplo, CON :, NUL :, AUX :, COM1 :, COM2 :, COM3 :, COM4 :, PRN:, LPT1 :, LPT2 :, LPT3 : y letras de unidad) que figuran en la HKLM\System\CurrentControlSet\Control\Session Manager\DOS Devices
clave de registro. Esto se puede utilizar para crear unidades de sustitución permanentes .
El administrador es responsable de iniciar los modos kernel y de usuario del subsistema Win32 . Este subsistema incluye win32k.sys
(modo kernel), winsrv.dll
(modo usuario) y csrss.exe
(modo usuario). [2] También se inician todos los demás subsistemas enumerados en el Required
valor de la clave HKLM\System\CurrentControlSet\Control\Session Manager\SubSystems
de Registro .
El administrador también es responsable de realizar cualquier operación que se solicite al inicio de una sesión. Se ejecutan los comandos enumerados en HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute
, como autochk
y convert
. Estos comandos se ejecutan antes de que los servicios se carguen en pasos posteriores del proceso de inicio. [3] Cualquier operación de cambio de nombre en cola en HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
. Esto se utiliza para permitir que los archivos previamente utilizados (por ejemplo, controladores) se reemplacen como parte de un reinicio. [4]
A partir de Windows Vista, el subsistema de administrador de sesión crea una instancia temporal de sí mismo que inicia la aplicación de inicio de Windows ( wininit.exe
) y un segundo subsistema de ejecución cliente/servidor ( csrss.exe
) para la sesión 0, una sesión dedicada a los procesos del sistema. Desde aquí, la aplicación de inicio de Windows inicia el Administrador de control de servicios ( services.exe
), que inicia todos los servicios de Windows que están configurados en "Inicio automático". [4] La aplicación también inicia el Servicio del Subsistema de la Autoridad de Seguridad Local ( lsass.exe
). Antes de Windows Vista, estos procesos se iniciaban mediante el inicio de sesión de Windows en lugar de la aplicación de inicio de Windows. [5]
Una vez configurada la sesión, el Subsistema Administrador de Sesiones inicia Winlogon (Aplicación de inicio de sesión de Windows), que es responsable de manejar los inicios de sesión interactivos en un sistema Windows, ya sea local o remoto. [5]
Una vez finalizado el proceso de inicio, el programa reside en la memoria y se puede ver ejecutándose en el Administrador de tareas de Windows . Luego espera a que finalice winlogon.exe
o csrss.exe
, momento en el que Windows se cerrará. Si los procesos no finalizan de la manera esperada, smss.exe
es posible que el sistema cuelgue o se realice una verificación de errores . [6] También inicia nuevas sesiones de usuario cuando es necesario.
El servicio de administrador de sesión local ( lsm.exe
) envía solicitudes a SMSS a través del puerto de comunicación local entre procesos asíncrono (ALPC) SmSsWinStationApiPort
para iniciar nuevas sesiones.
Cada vez que un usuario inicia sesión en el sistema, el administrador de sesión inicial crea una nueva instancia de sí mismo para configurar una nueva sesión. Este nuevo proceso inicia un subsistema Win32 y un proceso Winlogon para la nueva sesión. Esto permite que varios usuarios inicien sesión al mismo tiempo en sistemas Windows Server . [5]
init
- un proceso similar en sistemas estilo Unix