프로세스는 실행 파일이 메모리에 적재되어 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가 연산을 하면서 프로세스가 실행되게 된다.