CS 공부 & 면접 맛보기 0x13 [운영체제] : UNIX 메모리 구조 설명

2025. 1. 29. 23:00코딩 도구/CS 면접 도구

반응형

질문

UNIX 메모리 구조에 대해서 설명하시오.

면접 답변

UNIX 시스템에서 메모리 구조는 Code, Data, BSS, Heap, Stack의 5개 영역으로 구성됩니다. 각 영역은 프로그램의 실행과 메모리 관리에 중요한 역할을 합니다.


메모리 구조 구성 요소

1. Code (코드 영역)

  • 정의: 실행 가능한 기계어 코드가 저장되는 메모리 영역.
  • 특징: 읽기 전용, 프로그램이 실행되는 동안 수정 불가능.

2. Data (데이터 영역)

  • 정의: 전역 변수와 static 변수 중 초기화된 변수가 저장되는 메모리 영역.
  • 특징: 프로그램 시작 시 할당, 종료 시 해제.

3. BSS (Block Started by Symbol)

  • 정의: 전역 변수와 static 변수 중 초기화되지 않은 변수가 저장되는 영역.
  • 특징: 실행 시 0으로 초기화됨.

4. Heap (힙 영역)

  • 정의: 런타임 시 동적으로 메모리 할당하는 공간.
  • 사용 예: malloc(), new 같은 동적 메모리 할당 함수 사용 시 할당.
  • 특징: 수동으로 할당 및 해제 필요, 메모리 누수 가능성 존재.

5. Stack (스택 영역)

  • 정의: 함수 호출 및 지역 변수, 리턴값을 저장하는 임시 메모리 공간.
  • 특징: 함수 호출 시 메모리가 할당되고, 종료 시 해제.
  • 동작 방식: LIFO (Last In, First Out)

결론

  • UNIX 메모리 구조는 프로그램의 안정적인 실행효율적인 메모리 관리를 위해 Code, Data, BSS, Heap, Stack의 5가지로 구분됩니다.
반응형