ptmalloc2의 구조 및 특징 이해


ptmalloc2의 구조 및 특징 이해

미리 알아둘 것 <동적 메모리 할당과 ptmalloc2 이해> 이번에는 ptmalloc2 heap allocator가 어떻게 free 상태가 된(free'd) 메모리들을 관리하는지 간단히 특징 위주로 살펴봅니다. C언어에서 malloc()과 같은 함수를 통해 동적 할당된 메모리를 관리하면 ptmalloc2가 항상 빠짐없이 나와서 메모리를 관리하게 됩니다. 이때 동적으로 관리되고 있는 메모리 영역을 덩어리라는 뜻의 chunk라고 하며, 현재 동적 할당되어 사용중인 영역을 in-use chunk, free() 함수 등으로 다시 반납되어 현재 사용되지 않는 영역을 free chunk라고 하여 구분하며 둘은 구조가 서로 다릅니다. 그렇게 할당과 해제를 반복하면서 동적으로 메모리를 관리하면, 이런식으로 메모리가 사용되게 됩니다. 이때, heap memory의 가장 마지막에 위치한 chunk를 top chunk라고 합니다. (메모리 주소, 즉 번지수로 보면 가장 높습니다. 이는 stack과 달...


#allocator #x64 #동적할당 #리눅스 #메모리 #시스템 #운영체제 #이론 #커널 #x32 #unsortedbin #bin #calloc #fastbin #heap #largebin #malloc #ptmalloc2 #smallbin #힙

원문링크 : ptmalloc2의 구조 및 특징 이해