클라이언트/서버 런타임 하위 시스템
클라이언트/서버 런타임 하위 시스템(Client/Server Runtime Subsystem) 또는 csrss.exe
는 윈도우 NT의 구성 요소로서, 사용자 모드 쪽의 Win32 하위 시스템을 제공하며 윈도우 2000 이후로 제공되어 왔다. 대부분의 Win32 Subsystem 영역들이 Windows NT 4 이후로 보호 링 장치 드라이버로 넘어옴에 따라, CSRSS는 대부분의 Win32 콘솔 조작과 GUI 종료를 맡게 되었다. 이것은 시스템 운영에 매우 중요하므로, 이 프로세스를 끝내는 것은 시스템 장애를 유발할 수 있다. 보통의 환경에서 CSRSS는 taskkill 명령어 또는 윈도우 작업 관리자에 의해 종료되지 않는다.
동작
[편집]CSRSS는 사용자 모드 윈도우 서비스로서 동작한다. 사용자 모드 프로세스가 콘솔 창, 프로세스/스레드 작성, 사이드 바이 사이드 지원(side-by-side support)과 관련된 함수를 호출할 경우, 시스템 호출을 하는 대신 Win32 라이브러리(kernel32.dll, user32.dll, gdi32.dll)들은 커널과 관계 없이 대부분의 일을 하는 CSRSS 프로세스에게 프로세스 간 호출을 보낸다.[1] 대신 창 관리자와 그래픽 장치 인터페이스(GDI) 서비스들은 커널 모드 드라이버 (win32k.sys)에 의해 관리된다.[2]
CSRSS은 winlogon.exe와 함께 윈도우 시작 시 호출된다. 만약 둘 중 하나에 이상이 있을 시 NT 커널은 블루스크린과 함께 시동을 종료한다. 이 에러 코드는 0xc000021a이다.[3]
같이 보기
[편집]각주
[편집]- ↑ “Detailed implementation of a system service in Windows NT”. 《Undocumented Windows NT》. 2011년 7월 17일에 원본 문서에서 보존된 문서. 2010년 6월 10일에 확인함.
- ↑ Russinovich, Mark (2009). 《Windows Internals, 5th Edition》. Microsoft Press. 54쪽.
- ↑ “Inside the Windows Vista Kernel – Startup Processes”. 《Inside the Windows Vista Kernel – Startup Processes》. Microsoft. 2010년 10월 1일에 확인함.