Client/Server Runtime Subsystem
Client Server Runtime Subsystem, or
csrss.exe, is a component of the Windows NT family of operating systems that provides the user mode side of the Win32 subsystem and is included in Windows NT 3.1 and later. Because most of the Win32 subsystem operations have been moved to kernel mode drivers in Windows NT 4 and later, CSRSS is mainly responsible for Win32 console handling and GUI shutdown. It is critical to system operation; therefore, terminating this process will result in system failure. Under normal circumstances, CSRSS cannot be terminated with the taskkill command or with Windows Task Manager, although it is possible in Windows Vista if the Task Manager is run in Administrator mode. On Windows 7 and later, Task Manager will inform the user that terminating the process may result in system failure, and prompt if they want to continue. In Windows NT 4.0 however, terminating CSRSS without the Session Manager Subsystem (SMSS) watching will not crash the system. However in Windows XP, terminating CSRSS without SMSS watching will crash the system due to the critical bit being set in RAM for csrss.exe.
The Windows NT 3.x series of releases had placed the Graphics Device Interface component in CSRSS, but this was moved into kernel mode with Windows NT 4.0 to improve graphics performance. The Windows startup process from Vista onward has changed significantly. Two instances of csrss.exe are running in Windows 7 and Vista.
CSRSS runs as a user-mode system service. When a user-mode process calls a function involving console windows, process/thread creation, or side-by-side support, instead of issuing a system call, the Win32 libraries (kernel32.dll, user32.dll, gdi32.dll) send an inter-process call to the CSRSS process which does most of the actual work without compromising the kernel. Window manager and GDI services are handled by a kernel mode driver (win32k.sys) instead.
CSRSS is called along with
winlogon.exe from smss.exe at Windows start-up. If either of the files is corrupted or otherwise inaccessible, SMSS will tell the kernel to shut down the start-up process with a Blue screen of death. The error code for this fault is 0xc000021a (STATUS_SYSTEM_PROCESS_TERMINATED).
In Windows 7 and later, instead of drawing console windows itself, CSRSS spawns
conhost.exe subprocesses to draw console windows for command line programs with the permissions of that user.
There are numerous virus hoaxes that claim that csrss.exe is malware and should be removed to prevent damage to the system; these are false, as removing csrss.exe or killing the csrss.exe process will result in a kernel panic.
In addition, technical support scammers pretending to be Microsoft representatives are known to use csrss.exe as "proof" of a virus infection, and convince the user being scammed into purchasing their rogue security software to remove it.
- "The Windows NT 4.0 Kernel mode change". MS Windows NT Kernel-mode User and GDI White Paper. Microsoft. Retrieved 2009-01-19.
- on YouTube
- "Inside the Windows Vista Kernel – Startup Processes". Inside the Windows Vista Kernel – Startup Processes. Microsoft. Retrieved 2010-10-01.
- "Detailed implementation of a system service in Windows NT". Undocumented Windows NT. Archived from the original on 2011-07-17. Retrieved 2010-06-10.
- Russinovich, Mark (2009). Windows Internals, 5th Edition. Microsoft Press. p. 54.
- "How to troubleshoot a "STOP 0xC000021A" error in Windows XP or Windows Server 2003". support.microsoft.com. Retrieved 2020-03-15.
- Cimpanu, Catalin (Jan 22, 2016). "Symantec Disavows Business Partner Caught Running a Tech Support Scam". Softpedia. Retrieved July 29, 2016.