메모리 할당 정책 [ 크래프톤 정글 50일차 ]
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
메모리 관리, 운영 체제
대상자
- *운영 체제 및 시스템 프로그래밍 학습자, 메모리 관리 구현 개발자**
- 난이도: 중급*
핵심 요약
First Fit
,Best Fit
,Next Fit
3가지 메모리 할당 정책의 특성과 단점 강조Next Fit
는First Fit
보다 내부 단편화 감소 가능하지만 탐색 성능 불안정- 명시적 가용 리스트 사용 시 할당 효율성 향상 가능
섹션별 세부 요약
1. 메모리 할당 정책 개요
- 3가지 주요 정책:
First Fit
,Best Fit
,Next Fit
- 목적: 프로세스의 메모리 요청을 만족시키는 빈 공간 선택 전략
- 문제점:
malloc
호출 시 Heap 영역의 메모리 할당 위치 결정 필요
2. `First Fit` (최초 적합)
- 방식: 최초로 충분한 크기의 블록 선택하여 할당
- 장점: 빠른 탐색 (전체 탐색 X)
- 단점: 앞부분 자투리 공간 증가로 인한 내부 단편화 발생 가능성
3. `Best Fit` (최적 적합)
- 방식: 요청 크기보다 크거나 같은 블록 중 가장 작은 것 선택
- 장점: 내부 단편화 최소화
- 단점: 전체 탐색 필요로 시간 소요 및 작은 조각 남음으로 단편화 심화
4. `Next Fit` (다음 적합)
- 방식: 이전 탐색 종료 지점 다음부터 검색
- 장점: 연속 요청 시 비슷한 크기 블록 분포 개선
- 단점: Worst Fit/Best Fit보다 성능 불안정
- 현재 구현 상태: 구현 중단 (작성자 고민 중)
결론
- 명시적 가용 리스트 사용이 할당 효율성 향상에 기여함
Next Fit
구현 시 탐색 경로 관리에 주의 필요Best Fit
은 내부 단편화 감소를 위한 선택지지만 성능 저하 가능성 고려해야 함- 실무 적용 팁: Heap 메모리 할당 시
First Fit
대신Next Fit
을 고려하면 단편화 감소 효과 가능