본문/내용
1. naive
naive 구현은 가변 크기 메모리 할당을 구현하는 가장 기본적인 방법 중 하나이다. 이 구현은 메모리 블록을 직접 관리하는 방식으로 작동한다. 기본 개념은 요청된 메모리의 크기에 따라 적절한 크기의 블록을 찾아 할당하고, 블록이 더 이상 필요하지 않게 되었을 때 이를 해제하는 것이다. 이 과정에서 찾은 블록의 조절과 통합이 필요할 수 있다. 이 구현 방식은 메모리의 시작 부분에서부터 가용한 메모리 블록을 순차적으로 탐색하면서 요청된 크기보다 크거나 같은 첫 번째 블록을 찾는다. 만약 그러한 블록이 발견되면, 그 블록을 할당하고 나머지 블록의 크기를 조정하여 새로 할당한 영역을 기록한다. 반면, 요청된 크기에 맞는 블록이 없다면 특정 에러를 반환하거나 추가적인 메모리를 요청하는 방식을 택할 수 있다. naive 구현의 장점은 그 단순함이다. 복잡한 데이터 구조나 알고리즘을 사용하지 않고도 동작하기 때문에 빠르게 이해하고 구현할 수 있다. 개발 초기 단계에서 테스트를 하거나 프로토타입을 만들 때 유용하다. 그러나 메모리의 단편화와 효율적인 관리 문제에서 취약점을 보인다. 연속적으로 메모리를 할당하고 해제하다 보면 메모…