- Wininit.exe (이후 Wininit)는 비스타 이후부터 새롭게 생성된 시스템 프로세스로서, Smss에 의해 실행된다. 이 프로세스는 윈도우 세션 0을 생성하는 역할을 담당한다. (비스타 이후부터 Winlogn.exe는 사용자 세션인 세션 1 이후부터 담당하도록 변경되었다. 즉 Winlogon은 사용자들의 로그인 세션만을 담당하게 된 것이다). 세션 0은 SCM(\%Systemroot%\System32\Services.exe)을 생성하여 자동으로 시작되는 서비스와 디바이스 드라이버를 초기화하고 Lsass.exe와 Lsm.exe(로컬 세션 관리자로 로컬 머신 터미널 서버 연결을 관리한다)를 로드하게 된다.
- 이는 윈도우 XP, 2003에서의 큰 변화인데, 윈도우 2003까지 세션 0을 콘솔 모드라 하며 Winlogon에 의해 사용자와 서비스 등 중요 프로세스들이 함께 동작하는 구조였다. 아마 많은 관리자들이 윈도우 2003시절 원격 데스크톱을 이용해 연결할 때 Mstsc.exe에 /admin이라는 옵션을 주어 콘솔 로그인이라 하여 로컬 로그인 한 것과 같은 세션 0를 사용하는 환경으로 접근하였으나, 비스타 이후 더 이상 콘솔 세션이 별도로 존재하지 않는다.
- 이와 같이 Winlogon에서 분리한 이유는 세션 0에는 순수 서비스와 보안 프로세스만 두고 사용자가 접근할 수 없도록 격리하여 보안을 강화하기 위함이다. 또한 사용자 로그온을 담당하는 Winlogon을 기존 서비스 실행 및 드라이버 로드로부터 분리하여, Winlogon의 부담을 덜어주므로써, 장애는 물론 부팅시에도 더 빠르게 사용자 로그온 기능을 로드하여 부팅 속도를 개선한 후라 생각된다.
# 부모, 자식 프로세스
- 프로세스는 사용자가 실행하거나 다른 프로세스에 의해 실행되는데, 다른 프로세스에 의해 생성된 경우 자식 프로세스가 되며, 부모 프로세스는 자식 프로세스의 상태를 확인하거나 서로간 파일, 메모리 공유하는 작업등을 할 수 있다. 자식 프로세스가 되면, 부모 프로세스가 누구인지 프로세스 정보에 등록된다.
- 자식 프로세스는 프로세스 리스트를 트리 구조로 확인할 때(Tlist.exe 혹은 process explorer), 부모 프로세스 하위에 위치하게 된다. 그리고 자식 프로세스는 독립형과 의존형으로 다시 구분할 수 있는데, 쉽게 설명하자면 부모 프로세스가 종료되었다고 해서 무조건적으로 자식 프로세스가 종료되지 않는다.
'Windows' 카테고리의 다른 글
| 시스템 프로세스 - 서비스 관리자 Services.exe (0) | 2017.06.15 |
|---|---|
| 시스템 프로세스 - 보안 관리자 - Lsass.exe (0) | 2017.06.15 |
| 시스템 프로세스 - 고정키, WFP, WRP (0) | 2017.06.15 |
| 시스템 프로세스 - 로그인 관리자 Winlogon.exe (0) | 2017.06.15 |
| 시스템 프로세스 - LPC (0) | 2017.06.15 |