[OS] 스택 vs 힙

Hyenna·2023년 5월 12일
0

OS

목록 보기
4/9
post-thumbnail

💡Stack(스택)

  • 정적 메모리 할당
  • 프로그램 로직이 동작하기 위한 지역 변수와 매개 변수를 저장
  • 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸
  • 후입선출(LIFO, Last Input First Output) 방식
  • 메모리의 상위 주소에서 하위 주소 방향으로 할당

[장점]

  • 매우 빠른 액세스(할당, 해제가 빠르다)
  • 변수를 명시적으로 할당 해제 할 필요가 없다.

[단점]

  • 메모리 크기에 제한이 있다.
  • 변수의 크기를 조정할 수 없다.

💡Heap(힙)

  • 동적 메모리 할당
  • 프로그램이 동작할 때 필요한 데이터 정보를 임시로 저장
  • 메모리의 하위 주소에서 상위 주소 방향으로 할당

[장점]

  • 변수는 전역적으로 액세스 가능
  • 메모리 크기 제한이 없다.

[단점]

  • 상대적으로 느린 액세스(할당, 해제가 느리다)
  • 메모리를 관리해야함
  • 운영체제마다 메모리 관리가 다르기 때문에 관리가 어렵다.

*출처 : WOOCOBLE

0개의 댓글