프로세스는 현재 실행 중인 프로그램을 뜻한다.
프로세스의 구조는 크게 4가지로 나뉜다.
스택 영역은 프로그램 실행 중 메모리를 효율적으로 관리, 데이터를 안전하게 처리하는
지역변수(local variable)과 함수 매개변수(function variable)가 저장되는 부분.
힙 영역은 동적 메모리 할당에 해당하는데 이는 실행 중
필요한 만큼메모리를 할당받고 필요 없을 때 해제할 수 있는 기법이며
큰 데이터를 처리하려면 힙 영역에서 수행해야 함.
데이터 영역은 전역변수(global variable)과 정적변수(static variable)가 저장되는 부분
프로그램이 시작할 때 할당되고, 종료할 때 해제됩니다
(Node.js에서는 global 객체나 클로저를 사용해 비슷한 기능을 구현 가능)
코드 영역은 프로그램을 실행 할 기계어 코드를 저장하는 곳
읽기전용 메모리 영역이다.
프로세스 내에서 실행되는 흐름의 단위, 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만
여러 스레드가 존재하는 프로세스를 멀티스레드 프로세스라고 한다.
특징
같은 프로세스 내의 스레드들은 코드,데이터,힙 영역을 공유한다.
스택 영역만 스레드마다 따로 존재함.