📄 메모리의 구성
프로그램 실행 시, 운영체제는 해당 프로그램의 실행을 위한 메모리 공간을 미리 마련한다. 이때, 이 메모리 공간은 코드영역, 데이터 영역, 힙 영역, 스택 영역 이렇게 4개의 영역으로 구분이 된다.
메모리를 나눠놓은 이유는?
메모리의 공간을 나눠서 유사한 성향의 데이터를 묶어서 저장하면 관리가 용이해지고, 메모리의 접근속도가 향상된다.
-
메모리 영역별로 저장되는 데이터 유형
- 코드영역 - 실행할 프로그램의 코드가 저장되는 메모리 공간이다. CPU는 코드 영역에 저장된 명령들을 하나씩 가져다가 실행한다.
- 데이터 영역 - 전역변수와 static 변수가 할당되는 영역이다. 프로그램 시작과 동시에 할당되어, 종료시 까지 남아있는 특징의 변수가 저장되는 영역이다.
- 힙 영역 - 프로그래머가 원하는 시점에 메모리 공간 할당 및 소멸을 하기 위한 영역이다.
- 스택 영역 - 지역변수와 매개변수가 할당되는 영역이다. 함수를 빠져나가면 소멸되는 변수를 저장하는 영역이다.