프로세스는 실행 파일이 메모리에 적재되어 CPU를 할당 받아 실행되는 것을 말 한다.
내가 자주 사용하는 Notion으로 예를 들면 아래와 같다.
프로그램
프로세스
1
의 과정 중인 상태를 프로그램이라고 한다.2 ~ 4
의 단계를 거쳐 달성한 5
의 상태를 프로세스라고 한다.메모리는 CPU가 직접 접근 가능한 컴퓨터 내부 기억장치이기 때문이다. 프로그램에 CPU에서 실행 되려면 메모리에 적재된 상태여야만 한다.
프로세스에 할당되는 메모리는 Code, Data, Heap, Stack 영역으로 구분된다.
각 영역은 아래와 같은 역할을 한다.
Code : 실행한 코드 저장
Data : 전역변수, static 변수 저장
Heap : 동적 메모리 저장, 직접 할당, 해제
Stack : 지역, 매개변수 임시 저장
메모리에 있는 Code 중 어떤 Code를 읽어야 하는지 정하는 것이 CPU 내부에 있는 Program Counter(PC)
이다.
결국 CPU 내부에 있는 PC에 의해 메모리의 프로세스 코드 중 어느 순서로 읽어야 하는지 파악하고 가져와 CPU가 연산을 하면서 프로세스가 실행되게 된다.