Web Browser
웹 브라우저
대부분의 주요 웹 브라우저는 탭을 독립된 프로세스로 관리하는 "멀티프로세스" 아키텍처를 채택하고 있습니다.
예를 들어, Google Chrome은 각 탭을 독립된 프로세스로 관리합니다. 이렇게 하는 이유는 주로 안정성과 보안 때문입니다. 만약 하나의 탭에서 문제가 발생하면 해당 탭만이 영향을 받고, 다른 탭들은 계속해서 잘 동작할 수 있습니다. 또한 각 탭은 독립된 주소 공간에서 동작하기 때문에, 하나의 탭에서 발생한 보안 문제가 다른 탭으로 확산되는 것을 방지할 수 있습니다.
그렇다고 해서 모든 브라우저가 각 탭을 독립된 프로세스로만 관리하는 것은 아닙니다. Firefox는 예전에는 멀티스레드 방식을 사용했지만, 최근에는 "Electrolysis"라는 프로젝트를 통해 멀티프로세스 아키텍처로 이동하였습니다.
물론, 각 탭 내부에서도 여러 스레드가 동작할 수 있습니다. 예를 들면, 웹 페이지의 렌더링, JavaScript 실행, 네트워크 요청 등 다양한 작업들이 별도의 스레드에서 동시에 처리될 수 있습니다.
요약하면, 대부분의 현대 웹 브라우저는 탭을 관리하기 위해 "멀티프로세스" 아키텍처를 사용하면서, 각 탭 내부의 작업을 위해 "멀티스레드"를 사용합니다.
Last updated