크롬(Chrome)의 각 탭은 프로세스(Thread)다.
Chrome의 각 Tab은 Thread일까 Process일까.
정답은 Process다.
왜 그런지 실험을 통해 알아보자.

실험을 위해 Chrome에서 Tab 세 개를 만들었다.
wmic process get Caption, ParentProcessId, ProcessId | find /i "chrome"
CMD에 명령했다.

굉장히 많은 chrome Process가 생겼다.
주목해야할 점은 이들의 PPID 와 PID이다. PPID는 부모의 PID를 의미한다.
그림에서 왼쪽에 있는게 각 프로세스의 PPID이고 오른쪽이 PID이다.
제일 위에 있는 프로세스의 PID가 20668이고, 그 밑의 모든 프로세스의 PPID가 20668이므로
제일 위에 있는 프로세스가 모든 프로세스의 부모 프로세스이다.

위에 있는 게 Chromium의 구조이다.
그림에서 알 수 있다시피 각 프로세스는 IPC(Inter Process Communication)로 소통한다.

최상위 chrome.exe가 아닌, 다른 chrome.exe는 Kill해도 창 자체가 꺼지지는 않지만
최상위 chrome.exe를 종료할 경우 브라우저 자체가 종료된다.
왜 Process로 했지?
Multi-thread Architecture는 성능면에서 유리하지만, 안정성과 보안 등에서 취약하다.
그래서 chromium은 Multi-process Architecture를 선택했다.