프로세스의 메모리 영역

나의 답변

전부 다 설명하라니까.. 결국 다 외워야 된다는 소린데.. 일단은 개념은 아래와 같다.

개념

위의 메모리 영역은 두 가지로 분류할 수 있는 데 컴파일 시 크기가 고정되는 code, data, bss 영역과 실행시 메모리가 할당되었다가 반납되는 heap, stack 영역으로 나눌 수 있습니다.

  1. 코드 영역 : 실행 파일을 구성하는 명령어들이 적재되는 메모리 영역으로 함수, 제어문, 상수 등이 여기에 지정됩니다.

  2. 데이터 영역 & BSS : 전역변수와 static변수가 지정되는 영역입니다. 초기화가 안 된 전역변수는 BSS 나머지는 DATA영역에 저장됩니다.

  3. HEAP 영역 : 프로그래밍 하시는 분들께는 친숙한 heap영역입니다. 실행 시, 동적으로 메모리를 할당할 수 있는 영역이죠.

  4. STACK : 지역변수가 할당되는 영역으로 함수가 호출되면 그에 맞는 변수들이 할당되고 함수가 종료될 시에는 반납됩니다.

참고 링크 : https://engkimbs.tistory.com/147