자유목록

Free list

자유 목록은 동적 메모리 할당 체계에 사용되는 데이터 구조다.할당되지 않은 메모리 영역을 링크된 목록에 함께 연결하여 각 할당되지 않은 영역의 첫 번째 단어를 다음 영역에 대한 포인터로 사용하여 작동한다.모든 개체의 크기가 동일한 메모리 풀에서 할당하는 데 가장 적합하다.

무료 목록은 할당 및 할당 해제 작업을 매우 단순하게 만든다.한 지역을 자유롭게 하기 위해서, 사람들은 그것을 자유 목록과 연결시킬 것이다.지역을 할당하려면 자유 목록의 끝에서 단일 지역을 제거하여 사용하십시오.지역이 가변적이라면 충분히 넓은 지역을 수색해야 할 수 있어 비용이 많이 들 수 있다.

무료목록은 연계목록에서 계승되는 단점, 참조지역성이 떨어지고 데이터 캐시 활용도가 떨어지는 단점이 있으며, 버디할당제도와 달리 인접지역을 자동으로 통합해 큰 지역에 대한 할당요청을 이행하지 않는다.그럼에도 불구하고, 그것들은 완전한 메모리 할당자가 불필요하거나 너무 많은 오버헤드를 필요로 하는 다양한 간단한 애플리케이션에서 여전히 유용하다.

OCaml 런타임은 할당 요청을 충족하기 위해 무료 목록을 사용한다.

참고 항목

참조