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가지로 구분됩니다.
반응형
'코딩 도구 > CS 면접 도구' 카테고리의 다른 글
CS 공부 & 면접 맛보기 0x12 [운영체제] : 페이지 교체 알고리즘의 종류 설명 (0) | 2025.01.27 |
---|---|
CS 공부 & 면접 맛보기 0x11 [운영체제] : 페이징이란 (0) | 2025.01.24 |
CS 공부 & 면접 맛보기 0x10 [운영체제] : Process 상태 변화 과정 (0) | 2025.01.22 |
CS 공부 & 면접 맛보기 0x0F [운영체제] : 인터럽트와 트랩 (0) | 2025.01.20 |
CS 공부 & 면접 맛보기 0x0E [운영체제] : 데드락(Deadlock)의 해결 방법 (0) | 2025.01.17 |