Home 프로세스 메모리 구조
Post
Cancel

프로세스 메모리 구조

프로세스 메모리 구조

메모리 구조

메모리구조

스택(Stack)

  • 함수의 파라미터, 함수 반환 위치, 지역변수 등을 임시로 저장하는 공간으로, 함수가 리턴되면 함수 내에서 사용되던 지역변수들은 스택에서 사라지며 컴파일 타임에 스택의 크기가 정해진다.

    정확히는 스택에 쌓인 데이터들이 사라지는 것이 아니라 현재 스택의 최상위 위치를 가리키는 ESP레지스터가 다른 값을 가리키게 된다. (LEAVE명령어 등)

  • 높은주소에서 낮은주소로 데이터가 쌓이는 구조이다.

힙(Heap)

  • 필요에 의해 동적으로 생성되는 메모리 영역으로, 대표적으로는 C언어에서의 malloc함수가 있다.
  • 낮은주소에서 높은주소로 데이터가 쌓이는 구조이다.

BSS

  • 초기화 되지 않은 데이터들이 존재하는 영역

Data

  • 초기화 된 데이터들의 영역

Text(Code)

  • 실행 명령어들이 존재하는 영역으로, 읽기전용으로 되어있어 런타임시 수정될 경우 에러가 발생한다.

참고

  • 스택과 힙은 동일한 영역을 사용하고 있으며 스택과 힙 중 어느 한쪽이라도 영역을 침범하게 되면 overflow가 발생해 프로그램이 종료된다.

    스택힙메모리

This post is licensed under CC BY 4.0 by the author.

[BOJ 10807] 개수 세기

[BOJ 5397] 키로거

Comments powered by Disqus.