[One-Day Tech Talk] Process vs Program

황제연·2025년 2월 20일

CS학습

목록 보기
10/194
post-thumbnail

서론

최근에 크롬과 파이어폭스의 비교 영상을 보면서 크롬이 많은 메모리를 사용해 무겁다는 점을 알게 되었습니다
크롬이 메모리를 많이 사용하는 이유는 프로그램과 프로세스의 개념과 관련되어 이씁니다
이에 대해 명확히 이해하기 위해 프로그램과 프로세스에 대해 정리했습니다

Program

프로그램이란 명령어와 데이터의 집합으로 실행 가능한 형태를 가진 소프트웨어 입니다
일반적으로 파일 시스템에 존재하는 실행파일의 형태로 저장되어 있습니다

프로그램은 사용자가 실행하기 전까지는 단순한 정적인 파일입니다

Process

프로세스는 운영체제가 프로그램을 실행할 때 생성하는 독립적인 실행 단위입니다
프로그램이 실행되면 운영체제는 해당 프로그램을 메모리에 로드하고
CPU, 메모리 등을 할당해 실행합니다

이렇게 실행 중인 프로그램을 프로세스라고 합니다

Program과 Process의 관계

하나의 프로세스는 하나의 프로그램을 실행합니다

하지만 하나의 Program은 여러 프로세스를 생성할 수 있습니다

예시

크롬 웹 브라우저를 대표적인 예시로 들 수 있습니다

크롬을 실행하면 하나의 프로그램이 실행됩니다
하지만 탭을 생성하거나 확장 프로그램 등을 사용하면 별도의 프로세스를 실행합니다

작업관리자로 확인했을 때,
하나의 Chrome에 여러 프로세스가 실행되고 있는 것을 확인할 수 있습니다

정리

프로그램은 정적인 개념, 프로세스는 동적인 개념입니다

프로그램이 실행되면 프로세스가 생성됩니다

하나의 프로세스는 하나의 프로그램을, 하나의 프로그램은 여러 프로세스를 가질 수 있습니다

크롬이 많은 메모리를 사용하는 이유는 여러개의 프로세스를 실행하는 구조이기 때문입니다

profile
Software Developer

0개의 댓글