본문 바로가기

Thought Logs

Heap과 Stack, 프로세스 할당 메모리와 사용에 관한 의문

우리는 주로 프로세스의 메모리 크기가 Code, Data, heap, stack으로 나뉜다고 배운다

stack은 컴파일 시에 크기가 결정되며 heap은 dynamic하게 할당받을 수 있다고도 배운다

해당 메모리가 사용되는 방향도 생각보다 구체적으로 배우게 된다

하지만 실제 프로세스를 개발하다보면 문득 이 구조가 이해가 되지 않을 때가 있다

 

초기 실행 시의 메모리 크기는 작은 편이고, 이는 변수들을 메모리에 할당하면서 점점 크기가 켜져간다

그럼 Heap 영역의 메모리를 Stack이 있는 영역 이후까지 써버리면 어떻게 되는것인가?

 

 

 

 

ref.image

---

http://tcpschool.com/c/c_memory_structure

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

https://heurinbada.tistory.com/27

 

메모리 영역 (code / data / stack / heap)

요약 코드영역 : 코드 데이터영역 : 프로그램 종료시까지 유지되야할 데이터 힙 : 동적할당 스택 : 임시 코드(Code) 영역 코드 자체를 구성하는 메모리 영역 Hex 나 BIN 파일 메모리 프로그램 명령이 위치, 기계..

heurinbada.tistory.com

 

'Thought Logs' 카테고리의 다른 글

2020 개발자 목표  (0) 2019.12.24