📌메모리와 CPU관점에서 설명
실행파일(program)이 memory(RAM)에 적재되어 CPU를 할당받아 실행되는 것을 process라고 한다.
-> 실행중인 프로그램을 뜻한다. 즉, 실행파일 형태로 존재하던 program이 memory에 적재되어 CPU에 의해 실행(연산)되는 것을 process 라고 한다. (program은 단순히 명령어 리스트를 포함하는 파일)
State
메모리
CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억장치
🥇메모리 영역(독립적으로 할당)
stack : 함수에서 사용되는 지역변수, 매개변수 저장
(compile time에 메모리 영역의 크기 결정)
heap : 런타임 중에 할당이 되는 동적 메모리 할당, 프로그래머가 직접 공간을 할당(malloc)/해제(free)하는 영역
(runtime에 메모리 영역의 크기가 결정)
data : 전역변수, static 변수 저장
code : 실제 코드 저장 영역, 컴파일 후 기계어로 번역
CPU 연산
CPU 내부에 있는 PC Register에 다음 실행할 code의 주소(code 영역)가 저장되어 있음