2025. 03. 07 블로그 A/S 프로젝트🚧 로 추가한 글입니다.
프로세스, 쓰레드 ... 이론으로는 많이 들어봤고, 정리까지 했었다.
그렇지만 이걸 내가 왜 알아야할까.. 라는 불평을 하곤 했다.
운영체제는 정말 프론트엔드와 관련이 없을까? (1)
용어정리
프로세스
- 프로그램을 구동해, 프로그램의 상태가 메모리상에서 실행되는 작업 단위
- 하나의 프로그램에는 하나의 프로세스 할당
스레드
- 하나의 프로그램에서 여러 개의 작업을 수행하기 위한 더 작은 실행 단위
- 하나의 프로세스에는 여러 개의 스레드
- 스레드끼리는 메모리 공유
크롬 브라우저를 애용하지만 크롬 브라우저 아키텍처는 모름
매일 크롬 브라우저로 개발하지만 아키텍처에 대해서는 모르고 있었다...

이렇게 여러 프로세스를 가지고 있는데, 특히 Renderer 프로세스와 Plugin 프로세스가 여러 개인 점에 주목해보자.
크롬은 멀티 프로세스 아키텍처로 이루어져 있다!!
크롬의 멀티 프로세스 아키텍처 - 장점
크롬 브라우저의 각 탭은 독립적인 Renderer 프로세스를 갖는다.
프로세스는 고유한 메모리를 할당받기 때문에 (쓰레드와 달리), 각 탭에서는 서로의 데이터에 접근할 수 없다.
그렇기 때문에,
- 하나의 탭이 죽어도 다른 탭과는 독립적이기 때문에 안정적이다.
- 보안에 유리하다.

심지어는 iframe 별로 다른 프로세스를 돌린다고 한다.

크롬의 멀티 프로세스 아키텍처 - 단점
이렇게 프로세스를 끝없이 분리하다 보면, 메모리도 그만큼 많이 먹게 된다. 그렇기 때문에 크롬 브라우저는 프로세스 수의 리밋을 걸어버렸다. 이 리밋을 넘어가면 프로세스를 통합해 버린다(!)
최신 웹브라우저 들여다보기 (1부) | Blog | Chrome for Developers
브라우저가 코드를 개략적인 아키텍처에서 구체적인 렌더링 파이프라인에 이르기까지 제대로 작동하는 웹사이트로 변환하는 방법을 알아보세요.
developer.chrome.com
2025. 03. 07 블로그 A/S 프로젝트🚧 로 추가한 글입니다.
프로세스, 쓰레드 ... 이론으로는 많이 들어봤고, 정리까지 했었다.
그렇지만 이걸 내가 왜 알아야할까.. 라는 불평을 하곤 했다.
운영체제는 정말 프론트엔드와 관련이 없을까? (1)
용어정리
프로세스
- 프로그램을 구동해, 프로그램의 상태가 메모리상에서 실행되는 작업 단위
- 하나의 프로그램에는 하나의 프로세스 할당
스레드
- 하나의 프로그램에서 여러 개의 작업을 수행하기 위한 더 작은 실행 단위
- 하나의 프로세스에는 여러 개의 스레드
- 스레드끼리는 메모리 공유
크롬 브라우저를 애용하지만 크롬 브라우저 아키텍처는 모름
매일 크롬 브라우저로 개발하지만 아키텍처에 대해서는 모르고 있었다...

이렇게 여러 프로세스를 가지고 있는데, 특히 Renderer 프로세스와 Plugin 프로세스가 여러 개인 점에 주목해보자.
크롬은 멀티 프로세스 아키텍처로 이루어져 있다!!
크롬의 멀티 프로세스 아키텍처 - 장점
크롬 브라우저의 각 탭은 독립적인 Renderer 프로세스를 갖는다.
프로세스는 고유한 메모리를 할당받기 때문에 (쓰레드와 달리), 각 탭에서는 서로의 데이터에 접근할 수 없다.
그렇기 때문에,
- 하나의 탭이 죽어도 다른 탭과는 독립적이기 때문에 안정적이다.
- 보안에 유리하다.

심지어는 iframe 별로 다른 프로세스를 돌린다고 한다.

크롬의 멀티 프로세스 아키텍처 - 단점
이렇게 프로세스를 끝없이 분리하다 보면, 메모리도 그만큼 많이 먹게 된다. 그렇기 때문에 크롬 브라우저는 프로세스 수의 리밋을 걸어버렸다. 이 리밋을 넘어가면 프로세스를 통합해 버린다(!)
최신 웹브라우저 들여다보기 (1부) | Blog | Chrome for Developers
브라우저가 코드를 개략적인 아키텍처에서 구체적인 렌더링 파이프라인에 이르기까지 제대로 작동하는 웹사이트로 변환하는 방법을 알아보세요.
developer.chrome.com