본문 바로가기

Programming/온라인 교육

[CS50] 메모리 구조

반응형

머신 코드 영역에는 우리 프로그램이 실행될 때 그 프로그램이 컴파일된 바이너리가 저장된다.

글로벌 영역에는 프로그램 안에서 저장된 전역 변수가 저장된다.

힙 영역에는 할당된 메모리의 데이터가 저장된다. 그리고 스택에는 프로그램 내의 함수와 관련된 것들이 저장된다.

힙 영역에서는 메모리가 더 할당될수록, 점점 사용하는 메모리의 범위가 아래로 늘어난다.

마찬가지로 스택 영역에서도 함수가 더 많이 호출 될수록 사용하는 메모리의 범위가 점점 위로 늘어난다.

이렇게 점점 늘어나다 보면 제한된 메모리 용량 하에서는 기존의 값을 침범하는 상황도 발생한다.

이를 힙 오버플로우 또는 스택 오버플로우라고 일컫는다.

 

출처

https://www.boostcourse.org/cs112/lecture/119035/?isDesc=false 

 

모두를 위한 컴퓨터 과학 (CS50 2019)

부스트코스 무료 강의

www.boostcourse.org

반응형