운영체제 · 메모리

분할 할당과 단편화 시뮬레이터

프로세스가 들어오고 나갈 때 고정 분할과 동적 분할에서 내부 단편화와 외부 단편화가 어떻게 생기는지 한 메모리 막대에서 비교한다.

01

요청 수신

프로세스 크기와 필요한 연속 메모리 범위를 확인한다.

request
02

빈 공간 탐색

first fit, best fit, worst fit 중 선택한 정책으로 hole을 고른다.

placement
03

분할 또는 낭비

고정 분할은 남은 칸이 내부 낭비가 되고, 동적 분할은 남은 조각이 새 hole이 된다.

fragmentation
04

회수와 병합

종료된 프로세스 영역을 반환하고 인접한 빈 공간을 합친다.

coalescing
First fit
앞에서 처음 맞는 공간 사용 빠르지만 앞쪽에 작은 빈 조각이 누적되기 쉽다.
검색 비용 낮음
Best fit
가장 알맞은 공간 사용 남는 공간을 줄이려 하지만 아주 작은 hole을 많이 만들 수 있다.
외부 단편화 한계
Worst fit
가장 큰 공간 사용 큰 hole을 쪼개 여유를 남기지만 전체 균형이 항상 좋지는 않다.
전략적 분산

시험에서 자주 묻는 포인트

내부 단편화 할당된 블록 안에서 쓰지 못하는 공간이다.
외부 단편화 총 빈 공간은 충분해도 연속 공간이 부족한 상황이다.
압축 비용 주소 재배치와 프로세스 이동이 필요해 실행 중 부담이 생긴다.