프로그램이란?
- 컴퓨터에서 실행되는 명령어 모임이 들어 있는 데이터 덩어리
- 코드(code) + 데이터(data)
- 실행시키기 전까지는 프로그램 자체로는 아무 의미가 없다.
프로세스란?
- 프로그램을 실행하면 프로그램 안에 들어 있는 명령어가 한 줄씩 실행되면서 프로그램이 활동하는 상태
즉, 다르게 설명하면 프로그램이 실행되서 메모리에 올라와 있는 것이 프로세스다.

- 프로그램에 있는 코드와 데이터는 프로세스 메모리로 불러들인다. 즉, 로딩이 된다.
프로세스 메모리에는 코드와 데이터는 힙(heap)과 스택(stack)이 공존한다. 스택에는 현재 실행중인 함수들의 호출 기록과 사용 중인 로컬 변수들이 있다.
- 프로그램은 디스크 같은 저장소에 있고, 프로세스는 RAM 메모리에 있다.(메모리에 올라와 있다고 했으니)

윈도우 작업 관리 창에서 실행중인 프로세스를 확인 할 수 있다.
이를 확인해보면 실행 중인 프로세스는 여러개이고, 심지어 같은 프로그램을 여러 개 동시에 실행할 수도 있다.
이렇게 같은 프로그램이 여러개 실행되고 있는 것을 멀티프로세싱(multi-processing)이라고 한다.