새소식

반응형
250x250
💻 Computer Science/🍎 Operating System

[운영체제] 메모리 구조

  • -
728x90
반응형

📌 메모리 할당

 

 

◾ 사용자가 프로그램 실행

◾ OS가 보조기억장치에 저장된 프로그램을 메모리에 로드해 메모리 할당

 

 

📌 메모리 공간

 

✅ 코드(Code) 영역

할당 대상 : 명령어(함수, 제어문, 상수 등)

◾ 텍스트 영역 : 작성한 소스코드가 저장되는 영역

◾ 기계어 형태로(0,1) 저장

 

✅ 데이터(Data) 영역

할당 대상 : 전역 변수, 정적(static) 변수

◾ 프로그램 시작 시 할당, 프로그램 종료 시 메모리 소멸

 

✅ 힙(Heap) 영역

할당 대상 : 참조형 데이터 타입을 갖는 객체, 배열

◾ 동적 할당(Dynamic Memory Allocation) : 힙 영역에 메모리 할당하는 것

◾ 사용자에 의해 메모리 할당, 프로그램 실행 시 프로그램 내 가비지 컬렉터/프로그램 종료 시 OS 가비지 컬렉터가 메모리 해제

◾ 선입선출(FIFO, First In First Out) 구조 : 가장 먼저 저장된 데이터가 먼저 인출

    ◽ 메모리의 낮은 주소 ➡ 높은 주소 방향으로 할당

 

✅ 스택(Stack) 영역

할당 대상 : 지역 변수, 매개변수

◾ 함수 호출 시 할당, 함수 호출 완료 시 소멸

◾ 후입선출(LIFO, Last In First Out) 구조 : 가장 늦게 저장된 데이터가 먼저 인출

    ◽ 메모리의 높은 주소 ➡ 낮은 주소 방향으로 할당

 

 

📌 힙과 스택의 OVERFLOW

 

 

  힙과 스택은 같은 영역을 공유

  각 영역이 상대 공간을 침범하면 ➡ Heap / Stack Overflow 발생

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.