달력

62024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

스택(stack)

 - 지역 변수

 - 매개 변수

 

힙(Heap)

 - 필요에 의한 동적할당

 - 컴파일단계에서 할당되어야 할 변수를 프로그램 실행동안 결정해야할 경우.

 - 가변적으로 할당이 필요로 할때. 사용.

 

데이터(Data)

 - 전역 변수

 - Static 변수

Posted by JakeGD
|

메모리 풀(memory pool)


      • 고정 크기의 메모리를 할당 / 접근 / 헤제 하는 메모리 관리자



메모리를 할당 을 하게 되면 OS의 시스템 콜을 하는데 자주 콜을 하면 부하가 커 잦은 할당/ 헤제는 오버헤드를 일으킨다.

잦은 할당/헤제일수록 메모리 단편화가 일어나며 메모리가 여러 곳에 있기 때문에 처리하는 작업이 더 길어지게 된다.

이러한 문제점을 해결 하기 위해 메모리 풀이 필요합니다.


일반적으로 데이터를 할당하면 스택 메모리 영역에 할당이 되고 자동적으로 헤제가 되지만 너무 자주 일어나면 오버헤드가 되므로 new / malloc 연산자들을 이용하여 메모리에 동적할당을 해주게 됩니다.
힙에 저장된 메모리는 작성자가 직접 해제 시기를 지정할 수 있게 때문에 부하도 적고 더 용이한 관리가 가능하게 됩니다.


Posted by JakeGD
|