메모리 할당 정책(first fit, next fit, best fir)

ORCASUIT·2023년 11월 10일
1

메모리 할당 정책은 동적 메모리 할당에 사용되는 알고리즘으로, 프로세스나 파일에 할당할 메모리 영역을 결정하는 방법입니다. 주로 사용되는 정책은 '퍼스트 핏(first fit)', '넥스트 핏(next fit)', '베스트 핏(best fit)' 등이 있습니다. 이 정책들은 특히 가변 파티션 할당 방식에서 중요하며, 메모리 단편화를 줄이고 메모리 사용 효율을 높이는 데 도움을 줍니다.

퍼스트 핏 (First Fit)

퍼스트 핏 알고리즘은 메모리에서 프로세스가 요구하는 크기와 같거나 큰 첫 번째 빈 공간(홀)에 메모리를 할당하는 방식입니다. 메모리를 순차적으로 탐색하며, 충분히 큰 첫 번째 빈 공간을 찾으면 그 자리에 프로세스를 할당합니다. 퍼스트 핏은 구현이 간단하고 빠른 할당이 가능하지만, 메모리의 앞부분에 작은 홀들이 많이 생길 수 있어 외부 단편화를 야기할 수 있습니다.

넥스트 핏 (Next Fit)

넥스트 핏 알고리즘은 퍼스트 핏과 유사하지만, 매번 메모리 탐색을 시작하는 위치가 바뀝니다. 마지막으로 할당된 공간의 다음 위치부터 탐색을 시작하여 프로세스가 들어갈 수 있는 충분히 큰 다음 빈 공간을 찾습니다. 넥스트 핏은 퍼스트 핏보다 메모리 전체에 할당이 더 고르게 분포되는 경향이 있지만, 큰 프로세스를 할당하기 어려운 경우가 많아질 수 있습니다.

베스트 핏 (Best Fit)

베스트 핏 알고리즘은 프로세스가 요구하는 크기와 가장 잘 맞는, 즉 가장 작은 크기의 빈 공간에 할당하는 방식입니다. 메모리 전체를 탐색하여 가장 적은 크기의 공간 낭비가 발생하는 곳에 프로세스를 할당합니다. 베스트 핏은 공간을 효율적으로 사용할 수 있으나, 메모리 전체를 탐색해야 하므로 할당에 시간이 오래 걸릴 수 있고, 매우 작은 크기의 홀을 많이 생성하여 외부 단편화를 야기할 수 있습니다.

각 정책은 장단점을 가지고 있으며, 시스템의 특성과 요구에 따라 적절한 정책을 선택해야 합니다. 실제 시스템에서는 이러한 기본 정책을 변형하거나 결합하여, 메모리 할당의 효율성을 최적화하기도 합니다.

0개의 댓글