개념

[개념] 메모리의 구조

부먹짱 2022. 9. 20. 20:05
반응형

메모리 구조

 

코드(Code) 영역

프로그램의 코드가 저장되는 영역, CPU는 코드 영역에 저장된 명령을 하나씩 처리한다.

 

데이터(data) 영역

전역 변수와 정적 변수가 저장되는 영역

 

힙(heap) 영역

사용자 정의에 의해 할당/해제되는 영역

동적 메모리 영역으로 데이터를 찾기 위해서는 주소 값이 필요하다.

메모리의 낮은 주소에서 높은 주소 방향으로 할당되는 FIFO(선입선출, First in First out) 방식

 

* 힙 오버플로우 (Heap Overflow) : 메모리 공간이 부족하여, 힙이 스택 공간을 침범하는 경우

 

스택(stack) 영역

프로그램이 자동으로 사용하는 임시 메모리 영역

정적인 메모리 영역으로 스택 알고리즘을 통해 데이터를 찾을 수 있다.

지역변수, 매개변수가 저장되는 영역으로 코드 블록이 끝나면 자동으로 해제된다.

메모리의 높은 주소에서 낮은 주소 방향으로 할당되는 LIFO(후입선출, Last in Last out) 방식

 

* 스택 프레임 (Stack Frame) : 함수의 지역변수, 매개변수, 반환 주소값 등 함수의 호출 정보

* 스택 오버플로우 (Stack Overflow) : 메모리 공간이 부족하여, 스택이 힙 공간을 침범하는 경우

 

 

반응형

 

반응형