🤙 쉽게 이해해보는 시간을 갖겠습니다.
❓ 그니까 여러 프로그램들이 실행되는게 프로세스
메모리는 뭐가 있지?
1. code -> 작성한 코드가 들어가는 부분으로 기계어 형태로 저장된다. 프로세스가 종료될 때까지 계속 유지되는 영역(Read-Only 형태로 저장)
2. data -> 전역변수(global), 정적변수(static), 배열,구조체 등이 저장되는 부분. 프로그램 시작과 동시에 할당되고, 종료시 메모리가 해제된다.
3. heap -> 프로그래머가 동적으로 사용하는 영역이다. 사용 후에는 반드시 메모리 해제를 해줘야한다. code, data, stack 중 유일하게 런타임 시에 결정되기 때문에 데이터 크기가 확실하지 않을 때 사용한다
4. stack -> 지역변수, 매개변수, 복귀 번지 등이 저장되어 있는 프로그램이 자동으로 사용하는 임시 메모리
https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html