런타임 메모리, S/W 메모리

(2019-04-13)

Heap Memory, 힙 메모리, Stack Memory, 스택 메모리, 스택

1. 컴퓨터 기억장치의 구분 (S/W 관점, Runtime 실행 차원)프로그램 관점에서, 메모리 상에 일시적으로 데이터를 기억해두는 영역
     - 데이터의 보존 및 참조를 위해서는 `주소`라는 값을 이용함
     - 이때 수치로된 `주소`를 기억하기 어려워, 그에 이름을 붙인 `변수`를 사용하게 됨

  ㅇ 영구 메모리 (Permanent) : 정적인 메모리
     - 코드 영역   : 프로그램 명령어, 함수 등이 저장되는 영역
     - 데이터 영역 : 전역 변수, 정적 변수 등이 저장되는 영역

  ㅇ 스택 메모리 (Stack Memory) : 동적 자동 메모리
     - 지역 변수, 매개 변수, 함수 호출 등에 관여되는 자동 변수가 저장되는 영역
        . 주로, 블록 내 생성된 지역 변수를 처리하기 위해 사용됨
        . 함수가 종료되면 자동으로 할당된 공간이 소멸됨
     - 통상, 높은 주소에서 낮은 주소 순으로 할당 됨
  
  ㅇ  메모리 (Heap Memory)   : 동적 메모리 할당
     - 주로, 어플리케이션이 운영체제로부터 미리 할당 받은 메모리 영역으로써,
       그 영역 안에서 어플리케이션이 사용할 수 있는 일정한 메모리 공간
        . 프로그램 실행 중에, 동적 할당되는 메모리 영역
     - 例) C 언어에서, malloc(), calloc(), free() 등에 의해 수행됨

  ㅇ 자유 영역 (Free Memory)   : 동적 메모리 해제
     - 필요에 따라 메모리를 할당할 수 있도록 미리 준비해두는 메모리 풀(memory pool)
        . 결국, 에 의해 할당되지 않은 자유 영역으로써,
                그 크기가 할당과 해제에 의해 자유롭게 변할 수 있음

     * 운영체제,컴파일러 등이 자동으로 관리해주는 동적 자동 메모리와 달리, 
       프로그래머가 직접 관리 가능한 자유 메모리 영역


[기억장치] 1. 기억장치 2. 기억장치 용어 3. CAM 4. MMU 5. 캐쉬 메모리 6. 가상 메모리 7. 런타임 메모리 8. 메모리 맵핑
[반도체 메모리]

 
        최근수정     요약목록     참고문헌