운영체제 - 힙 S택

keyCat·2024년 11월 17일

자바

목록 보기
3/5

+참고+
1.[운영체제] 메모리 구조 https://velog.io/@shindoyeon/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B0
2. Heap VS Stack 무엇을 써야 하나 고민될 때
https://nx006.tistory.com/30

프로그램이 실행이 되기 위해 먼저 프로그램이 메모리에 로드되어야한다.
컴퓨터의 OS(Operation-System 운영체제)는 프로그램의 실행을 위해 다양한 메모리 공간을 제공한다.

메모리 공간 (RAM)

코드, 데이터, 스택, 힙 영역으로 나뉜다.

코드 영역

  • 실행할 프로그램의 코드
  • 기계어 형태로 저장

데이터 영역

  • 전역 변수, 정적 변수가 할당
  • 시작과 동시에 할당되고 프로그램이 종료돼야 메모리가 소멸

힙 영역

참조형 데이터 타입을 갖는 객체(인스턴스), 배열이 저장되는 공간
힙 영역에 메모리가 할당하는 것을 동적 할당이라고 한다.
사용자에의해 동적으로 할당되고 해제
응용 프로그램이 종료될때까지 메모리가 유지되기 때문에 사용하고 난 후 반드시 메모리를 해제 해줘야한다.
JAVA에서는 가비지 컬렉터가 자동으로 해제
런 타임(실행 시)에 크기가 결정

스택 영역

임시 메모리 영역
지역 변수와 매개 변수가 저장되는 영역
함수 호출이 완료되면 저장된 메모리도 해체
컴파일 시에 크기가 결정

스택은 위에서 아래로 쌓여가듯이 할당된다. 힙은 아래쪽에 분포

depth++1
메모리 - https://velog.io/@keycat67/%EB%A9%94%EB%AA%A8%EB%A6%AC 이부분과 연결됩니다.

profile
취준생 개발로그 /ᐠ •ヮ• マ Ⳋ

0개의 댓글