본문 바로가기
Compute/etc

[단편지식] 스택 메모리 Stack memory 와 힙 메모리 Heap memory

by 조청유곽 2024. 1. 25.
반응형

Stack - 쌓다, 포개다 등의 의미를 가지는 단어로 stack memory는 LIFO(Last In First Out) 방식 으로 데이터가 추가되거나 제거되는 메모리 영역이다. 

 

아래와 같이 push / pop의 형태로 나중에 넣은 값이 먼전 나오는 것을 LIFO 구조라고 한다. 

 

 

 

데이터가 LIFO 방식으로 추가되고 제거되기 때문에 스택 기반 메모리는 매우 간단하고 힙 기반 메모리보다 처리가 빠르다.

 

 

 


 

 

 

Heap -  무더기(더미)란 의미로 Heap memory란 heap에서 블록을 할당하고 할당 해제할 때 스택과 달리 설정된 규칙을 따르지 않는다. 

 

블록은 언제든지 할당될 수 있으며, 언제든지 해제될 수 있다.

따라서 다양한 사용 패턴에 맞게 힙 성능을 조정/사용할 수 있지만 어느 부분이 할당되는지 사용 가능한지 추적하기는 더 어려워지는 특성을 갖는다. 

 

 

 

 

출처 - https://en.wikipedia.org/wiki/Stack-based_memory_allocation

 

 

 

 

 

 

 

 

 

 

 

반응형