본문 바로가기
Computer Science/Operating System

[운영체제,OS] 메모리의 구조

by matters_ 2019. 9. 17.

운영체제가 제공하는 메모리 공간

  • 코드(code) 영역
    • 실행할 프로그램의 코드가 저장되는 영역
    • CPU는 코드 영역에 저장된 명령어를 하나씩 가져가 처리
  • 데이터(data) 영역
    • 프로그램의 전역변수와 정적(static) 변수가 저장되는 영역
    • 프로그램의 시작과 함께 할당 프로그램이 종료되면 소멸
  • 힙(heap) 영역
    • 사용자가 직접 관리할 수 있는 영역
    • 사용자에 의해 메모리 공간이 동적으로 할당되고 해제 (malloc, new)
    • 메모리의 낮은 주소에서 높은 주소의 방향으로 할당
    • 런타임에 크기가 결정
  • 스택(stack) 영역
    • 지역변수와 매개변수(함수의 인자)가 저장되는 영역
    • 함수이 호출과 함께 할당 호출이 완료되면 소멸
    • 스택영역은 후입선출(LIFO, Last-In First-Out) 방식에 따라 동작
    • 스택 영역은 메모리의 높은 주소에서 낮은 주소의 방향으로 할당
    • 스택 프레임(stack frame) : 스택 영역에 저장되는 함수의 호출 정보
    • 컴파일타임에 크기가 결정

Reference

댓글