Session Manager Subsystem, or smss.exe, 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 (it is the first user-mode process started by the kernel), at which time it performs the following tasks:
- Creates environment variables.
- Starts the kernel and user modes of the Win32 subsystem. This subsystem includes win32k.sys (kernel-mode), winsrv.dll (user-mode), and csrss.exe (user-mode). Any other subsystems listed in the Required value of the HKLM\System\CurrentControlSet\Control\Session Manager\SubSystems Registry key are also started.
- Creates DOS device mappings (e.g. CON:, NUL:, AUX:, COM1:, COM2:, COM3:, COM4:, PRN:, LPT1:, LPT2:, LPT3:, and drive letters) listed at the HKLM\System\CurrentControlSet\Control\Session Manager\DOS Devices registry key. This can be used to create permanent subst drives.
- Creates virtual memory paging files.
- Starts winlogon.exe, the Windows logon manager.
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 winlogon.exe or csrss.exe to end else Windows will shut down. If the processes do not end in an expected fashion, smss.exe may hang the system. It also initiates new user sessions when needed.
The Local Session Manager Service (lsm.exe) sends requests to SMSS through the Asynchronous Local Inter-Process Communication (ALPC) port SmSsWinStationApiPort to start new sessions.
- Matt Pietrek (1996). "Poking Around Under the Hood: A Programmer's View of Windows NT 4.0". Microsoft Systems Journal. Archived from the original on November 18, 2012.
- Microsoft Corporation (2007). "Default Processes in Windows 2000". Microsoft Corporation. Retrieved 2009-06-14.