최근에 크롬과 파이어폭스의 비교 영상을 보면서 크롬이 많은 메모리를 사용해 무겁다는 점을 알게 되었습니다
크롬이 메모리를 많이 사용하는 이유는 프로그램과 프로세스의 개념과 관련되어 이씁니다
이에 대해 명확히 이해하기 위해 프로그램과 프로세스에 대해 정리했습니다
프로그램이란 명령어와 데이터의 집합으로 실행 가능한 형태를 가진 소프트웨어 입니다
일반적으로 파일 시스템에 존재하는 실행파일의 형태로 저장되어 있습니다
프로그램은 사용자가 실행하기 전까지는 단순한 정적인 파일입니다
프로세스는 운영체제가 프로그램을 실행할 때 생성하는 독립적인 실행 단위입니다
프로그램이 실행되면 운영체제는 해당 프로그램을 메모리에 로드하고
CPU, 메모리 등을 할당해 실행합니다
이렇게 실행 중인 프로그램을 프로세스라고 합니다
하나의 프로세스는 하나의 프로그램을 실행합니다
하지만 하나의 Program은 여러 프로세스를 생성할 수 있습니다
크롬 웹 브라우저를 대표적인 예시로 들 수 있습니다
크롬을 실행하면 하나의 프로그램이 실행됩니다
하지만 탭을 생성하거나 확장 프로그램 등을 사용하면 별도의 프로세스를 실행합니다

작업관리자로 확인했을 때,
하나의 Chrome에 여러 프로세스가 실행되고 있는 것을 확인할 수 있습니다
프로그램은 정적인 개념, 프로세스는 동적인 개념입니다
프로그램이 실행되면 프로세스가 생성됩니다
하나의 프로세스는 하나의 프로그램을, 하나의 프로그램은 여러 프로세스를 가질 수 있습니다
크롬이 많은 메모리를 사용하는 이유는 여러개의 프로세스를 실행하는 구조이기 때문입니다