윈도우 세션 관리자 Smss.exe (Session Manager Subsystem)

Smss.exe는 Session Manager Subsystem의 약자로, 부팅 이후 최초로 생성되는 시스템 구동에 필요한 프로세스이다. (1장 후반부 성능 부분에서 Xperf를 통해 부팅 프로세스를 확인할 수는데 부팅 최초 프로세스로 확인할 수 있다.)

Smss.exe는 레지스트리 정보를 확인하여, 먼저 기본 실행 파일(…\Session Manager\BootExecute)을 확인하여 실행하게 된다. (기본적으로는 autochk, 디스크검사가 실행된다.)

그리고 시스템 환경 설정을 레지스트리(HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)에서 확인하고 설정에 맞게 초기화 한다. 그 후 win32k.sys(그래픽 관련 커널모드), Csrss.exe등 Win32 서브시스템을 구동하는데, 관련 정보는 레지스트리(…\Session Manager\SubSystems) 하위 경로에서 확인할 수 있다.

윈도우 세션 관리자 Smss.exe(Session Manager Subsystem)

윈도우 세션 관리자 Smss.exe (Session Manager Subsystem)

[그림] Smss.exe가 사용하는 레지스트리 위치

그 후 도스 디바이스 매핑(…\Session Manager\Dos Devices) 및 가상 메모리(…\Session Manager\Memory Management)를 생성하고, Winlogon.exe를 실행한 후 윈도우 종료시까지 대기하게 된다.(비스타 이상에서는 Wininit.exe를 Winlogon.exe와 함께 실행한다.) 추가로 애기하자면 Smss.exe는 네이티브 어플리케이션(Native application)이다.

네이티브 어플리케이션

먼저 간단히 요약해, Subsystem에 의존하지 않고, 직접 NT API를 호출하는 프로그램를 의미 한다.

(Native API와는 다른 용어임)

이유인 즉 Windows Subsystem 구동되기 이전에 구동되기 때문이다.(일반 어플리케이션은 Win32 Subsystem을 이용하여 호출하게 된다.) 그리고 이러한 어플리케이션은 Subsystem 유형은 0x1(Device Dirver)을 갖는다.

[그림] PEBrowse로 확인한 Smss의 Subsystem 값

Native 어플리케이션에 대해 보다 자세한 내용은 http://technet.microsoft.com/en-us/sysinternals/bb897447 를 참고 하기 바란다.

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.