프로그램 실행 시 운영체제에 의해서 마련되는 메모리의 구조는 크게 네 개의 영역으로 구분되어 있습니다.


코드 영역 ( Code Area  ) : 프로그램의 코드가 저장되는 메모리 공간. CPU는 코드 영역에 저장된 명령문들을 하나씩 가져가서 실행을 합니다.


데이터 영역 ( Data Area ) : 전역변수와 static 변수가 할당됩니다. 즉, 이 영역에 할당되는 변수들은 프로그램 종료 시까지 남아있게 된다는 특징이 있습니다.


힙 영역 ( Heap Area ) : 데이터 영역에 할당되는 변수와 스택 영역에 할당되는 변수들은 생성과 소멸의 시점이 이미 결정되어 있습니다. 프로그래머가 원하는 시점에 변수를 할당하고 또 소멸하도록 지원을 하는 변수들이 할당되는 영역이 힙 영역입니다. 런 타임에 크기가 결정됩니다.


스택 영역 ( Stack Area ) : 스택 영역에는 지역변수와 매개변수가 할당됩니다. 함수를 빠져나가면 소멸된다는 특징이 있습니다. 컴파일 타임에 크기가 결정됩니다.

 

Posted by Dongkey
,