Session Manager Subsystem

The Session Manager Subsystem, or, is a component of the Microsoft Windows NT family of operating systems, starting in Windows NT 3.1. It is executed during the startup process of those operating systems.

Session initialization
The Session Manager Subsystem is the first user-mode process started by the kernel. Once started it creates additional paging files with configuration data from the environment variables located at the registry entry , and DOS device mappings (e.g. CON:, NUL:, AUX:, COM1:, COM2:, COM3:, COM4:, PRN:, LPT1:, LPT2:, LPT3:, and drive letters) listed at the   registry key. This can be used to create permanent subst drives.

The manager is responsible for starting the kernel and user modes of the Win32 subsystem. This subsystem includes  (kernel-mode),   (user-mode), and   (user-mode). Any other subsystems listed in the  value of the   Registry key are also started.

The manager is also responsible for doing any operations that are requested to be done at the start of a session. Commands listed in, such as   and  , are executed. These commands are run before services are loaded by later steps of the booting process. Any rename operations queued at. This is used to allow previously in-use files (e.g. drivers) to be replaced as part of a reboot.

Starting with Windows Vista, the Session Manager Subsystem creates a temporary instance of itself that launches the Windows Startup Application and a second Client/Server Runtime Subsystem   for Session 0, a session dedicated to system processes. From here, the Windows Startup Application starts the Service Control Manager, which starts all the Windows services that are set to "Auto-Start". The application also starts the Local Security Authority Subsystem Service. Before Windows Vista, these processes where started by Windows Logon instead of the Windows Startup Application.

Once the session is configured, the Session Manager Subsystem starts Winlogon (Windows Logon Application), which is responsible for handling interactive logons to a Windows system, either local or remote.

Operation
After the boot process is finished, the program resides in memory and can be seen running in the Windows Task Manager. It then waits for either  or   to end, at which point Windows will shut down. If the processes do not end in an expected fashion,  may hang the system, or a bugcheck will occur. It also initiates new user sessions when needed.

The Local Session Manager Service sends requests to SMSS through the Asynchronous Local Inter-Process Communication (ALPC) port   to start new sessions.

Each time a user logs onto the system, the initial Session Manager creates a new instance of itself to configure a new session. This new process starts a Win32 subsystem and Winlogon process for the new session. This allows for multiple users to logon at the same time on Windows Server systems.